Reputation: 959
Just migrated from a very long-running Python2 App Engine app to Python3. Used the "appengine-python-standard" line in my requirements.txt. This allows me to continue using:
from google.appengine.ext import db
from google.appengine.ext import ndb
in our program (along with taskqueue & memcache). Very nice of Google to provide these after the initial migration process forced to different services.
Long intro to my question. The original datastore supporting Python2 had eventual consistency. Given this we used sharding to help avoid conflicts writing to our busiest Entity. (Not a huge risk, but we were being careful.)
It is clear using the Datastore GC access tool that the setup on the new Datastore is different than Python2 original because one has to first access a 'default' bucket before seing ones AppEngine Entities. The GC documentation says "Firestore in Datastore mode is a NoSQL document database built for automatic scaling, high performance, and ease of application development."
Since Firestore does not use eventual consistency we would like to re-write our sharded process. I am not sure though that the db & ndb wrappers provided by the "appengine-python-standard" requirement when running Python3 provide true Firestore capabilities, or if we still need to allow for eventual consistency.
BTW: We just ran a project against our new Python3/Flask app. Very pleased with response times. Was afraid of a penalty for using appengine-python-standard. It might be there, but cannot see it.
TIA.
Upvotes: 0
Views: 30
Reputation: 6263
Don't fully understand your question but note
Since Firestore does not use eventual consistency
The docs say you can explicitly request for eventual consistency when using datastore. The doc has this snippet
Datastore queries become strongly consistent unless you explicitly request eventual consistency.
Bundled APIs for ndb had eventual consistency (see docs). If this was changed in the version for Python 3, I expect that to be documented but I haven't seen that (could also be possible that I missed it)
Upvotes: 0