The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
From: Ben the Indefatigable <bcbry...@gmail.com>
Date: Mon, 28 Apr 2008 05:43:17 -0700 (PDT)
Local: Mon, Apr 28 2008 8:43 am
Subject: Re: creating unique numeric IDs in datastore (sample code)
On Apr 27, 11:28 am, dundeemt <dunde...@gmail.com> wrote:
> I don't think that an auto-increment field is the way to go. It is
On Apr 27, 8:15 pm, vrypan <vry...@gmail.com> wrote:
> viable when you only have 1 database but I don't think that is how GAE > operates. Someone step in and correct me if I'm wrong. The datastore > for your app is going to/can be replicated out to other machines based > on geographic usage. This would mean that their exists times, when > datastore' != datastore'' -- over time datastore' would be sync'd with > datastore'' so that datastore' == datastore'' -- this would lead one > to believe that there will be times when the idea of an auto-increment > field will not be synchronizable or that the result of the > synchronization would be less than satisfactory. My belief that auto- > increment fields are the wrong idea in this environment is > strengthened by the fact that they are not offered as an intrinsic > data type in the Model or Expando classes. > Jeff, I don't think your synchronization concerns are valid in this
Jeff, synchronization is not a concern. The datastore hides the issue
> case. It looks like the implementation I suggested is consistent (the > counter increments take place in a transaction) and the actual piece > of information that needs to be replicated between servers is a > relatively small object. That said, I have no insight on how google > infrastructure works, so I may be totally wrong. :-) of multiple machines. Even when you don't have much data it is likely that the master copies of different entities of your data reside on different machines because it is never assigned or bound to one machine; the BigTable infrastructure is shared by many applications from the beginning. Rest assured that "datastore == datastore" as you put it. The whole point of a transaction on an entity is that you can rely on the integrity of that entity regardless of datastore's underlying implementation. You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||