-
In the Usage Notes for the High Replication Datastore, it says that an entity group is limited to 1 write per second. I’m a little confused on that. In the Understanding Write Costs section of this other article, it shows that just storing a new entity can cost 14 writes. Is the 1 write per second mentioned in the first article an equivalent measure to the one in the second article? If so, it would take 10 seconds to store a basic entity? I’m sure that can’t be correct?
-
Google says that entities stored without ancestors (as root entities) have eventual consistency. Does this mean that if one user adds a new entity to the datastore without an ancestor, that it is not guaranteed to be available if I do a query immediately after? If so, how long is “eventual” anyway? Can it be hours, or are they just talking seconds?
In the Usage Notes for the High Replication Datastore, it says that an entity
Share
The write limit is 1 entity write to the datastore per second. The write costs is the number of indexes that may need to be updated per entity, these are different “writes” – they may vary per entity and is a separate measurement than the “1 write per second” write.
That’s correct. Note however, that there are a few specific cases where results are strongly consistent. A GET query by key where you fetch a single entity is strongly consistent. Ancestor queries are the other case where the datstore is strongly consistent. “Eventual” means don’t count on it. Normally it’s seconds, but in special cases, like a BigTable tablet getting full and needing to split, or perhaps a tablet going down and needing to be replaced, eventual could mean longer. I’ve seen a couple of complaints on the mailing list about queries returning old results for hours, but this was not common.