In Google App Engine Datastore, to what extent does using parent keys hurt performace? -
I have two models that are naturally present in parent's relationship. Unique in terms of, but not universally necessary, and whenever I want to ask a specific child, the ID will be available for both my parents and children.
I can implement these two methods.
-
Generate the string "", "child_id", "child_id>" to each child unit's datestore key name, and join the process and partition id id.
-
Use the parent key.
Option 2 sounds like a clear winner from the code scenario, but hurts the performance on writing? If I never use the transaction, then is it still overwritten by the same parents to write different children concurrently? Is Datastore quite understandable that if I do two transactions in the same unit group which can not affect each other, then both should still be implemented? Or if the locking is not necessary then should not the keys of the parents be left?
For transactions, you can not concurrently write multiple
Comments
Post a Comment