What about keynames like: counter_standard_dbf counter_standard_clo
or would something like dbfo01la_counter_standard clo091b_counter_standard work better? I'm thinking of cases where you may use keynames that can in some way be constructed/predicted for fast access later. like..<username>_counter_standard Would the common pre-fix or post-fix make for close distribution? :| On Feb 18, 5:59 pm, "Nick Johnson (Google)" <nick.john...@google.com> wrote: > Hi Eli, > > Using a randomly generated ID like a uuid is perfectly satisfactory to > achieve an even distribution. > > On Wed, Feb 17, 2010 at 7:02 PM, Eli Jones <eli.jo...@gmail.com> wrote: > > I understand the process of evenly distributing IDs since they are Integer > > values.. is there a canonized appengine way to evenly distribute key_names? > > > Just make sure key_name1 and key_name2 don't have their i-th letters "too > > close" too eachother? How far is far enough? > > > Does doing even distribution matter if you aren't using auto-generated IDs? > > It certainly can - if you insert, in order, "aaaa", "aaab", "aaac", etc, > you'll encounter the same problem at very high volumes as you'd see with > auto generated IDs. > > -Nick Johnson > > > > > > > > > Thanks for information. > > > On Wed, Feb 17, 2010 at 1:32 PM, Nick Johnson (Google) < > > nick.john...@google.com> wrote: > > >> Hi Ulrich, > > >> On Wed, Feb 17, 2010 at 5:30 PM, Ulrich <mierendo...@googlemail.com>wrote: > > >>> Hi, > > >>> I have read the following > >>> "Timeouts due to datastore issues --- [...] The most common example of > >>> this occurs when you are rapidly inserting a large number of entities > >>> of the same kind, with auto-generated IDs. In this case, most inserts > >>> hit the same range of the same tablet, and the single tablet server is > >>> overwhelmed with writes. [...] If this does affect your app, the > >>> easiest solution is to use more evenly distributed IDs instead of the > >>> auto-allocated ones [...]" > >>> ( > >>>http://code.google.com/appengine/articles/handling_datastore_errors.html > >>> ) > > >>> Let's say I am having a model "Parent" and a model "Child". For Parent > >>> entities, I use key names that are evenly distributed. For Child > >>> entities, I use auto-generated key IDs and _no_ key names, but all > >>> Child entities are children of Parent entities, so the paths to the > >>> children contain the evenly distributes key names of the parents. > >>> If I have many write operations on children that are in the same > >>> entity group, the described error could occur. But what happens if my > >>> write operations are on children that are in different entity groups? > >>> Their IDs are auto-generated and not evenly distributed, but their > >>> paths contain the evenly distributed key names. > > >> Good question! The point being made in the article refers to the global > >> distribution of the complete key, so writes to these children will be well > >> distributed, and you won't have to worry about this source of contention. > > >> -Nick Johnson > > >>> -- > > >>> You received this message because you are subscribed to the Google Groups > >>> "Google App Engine" group. > >>> To post to this group, send email to google-appeng...@googlegroups.com. > >>> To unsubscribe from this group, send email to > >>> google-appengine+unsubscr...@googlegroups.com<google-appengine%2Bunsubscrib > >>> e...@googlegroups.com> > >>> . > >>> For more options, visit this group at > >>>http://groups.google.com/group/google-appengine?hl=en. > > >> -- > >> Nick Johnson, Developer Programs Engineer, App Engine > >> Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: > >> 368047 > > >> -- > >> You received this message because you are subscribed to the Google Groups > >> "Google App Engine" group. > >> To post to this group, send email to google-appeng...@googlegroups.com. > >> To unsubscribe from this group, send email to > >> google-appengine+unsubscr...@googlegroups.com<google-appengine%2Bunsubscrib > >> e...@googlegroups.com> > >> . > >> For more options, visit this group at > >>http://groups.google.com/group/google-appengine?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google App Engine" group. > > To post to this group, send email to google-appeng...@googlegroups.com. > > To unsubscribe from this group, send email to > > google-appengine+unsubscr...@googlegroups.com<google-appengine%2Bunsubscrib > > e...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/google-appengine?hl=en. > > -- > Nick Johnson, Developer Programs Engineer, App Engine > Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: > 368047 -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.