3 ms·
Parent-child relationships, though incredibly tempting and useful, have a very serious limitation in app engine datastore. Any transaction on an entity in a gr
by guybrushT 13y ago
Parent-child relationships, though incredibly tempting and useful, have a very serious limitation in app engine datastore.
Any transaction on an entity in a group will cause any other writes to the same 'entity group' to fail. Therefore, if you have a large entity group with lots of writes, this causes lots of contention, and your app then has to handle the expected write failures - which is a pain!
- ptgtp 13y agoMy reply was mainly aimed at the example posted here, really how often will a Dog Walker's set of Dogs change? Keep in mind that transactions can have retries too, so it's not enough for 2 requests to collide, it needs to be entity groups with > 1 write per second for that to be an issue. But beyond that, there are other app engine tools like task queues, which can make dealing with contention pretty easy.
- guybrushT 13y agoYou are right. An unrelated query: does anyone know of companies (like Streak.com) using app engine datastore in production? We are newbie programmers, and developing our app on app engine (because it was easy to learn) - but it feels a bit lonely sometimes :)
- alooPotato 13y agoThere are lots of companies (Streak.com is one of them) using appengine in production.
- zafirk 13y agohey there, I work on the App Engine team. To connect with other App Engine developers, you can check out the Google Group or Stack Overflow: https://groups.google.com/forum/#!forum/google-appengine https://groups.google.com/forum/#!forum/google-appengine http://stackoverflow.com/questions/tagged/google-app-engine http://stackoverflow.com/questions/tagged/google-app-engine And our website has a list of some of our customers at cloud.google.com/customers.