I've been thinking a lot about what kind of storage to use for my application, and I've ended up at the Cloud Datastore, but I'm wondering whether it is suitable, since I don't see my use case covered in the overview.
In my app, each incoming request begins a transaction on a single, distinct Entity in the store, which is expected to contain ~millions of Entities. The transaction is committed before the request response is delivered. So, during high load, there could be thousands of concurrent, pending transactions, all acting only on their own Entity.
In other words, each incoming request references a single Entity only, which it "locks" (by starting a transaction), and it is then "unlocked" (committed) before the response is delivered. Essentially it's just:
1) fetch Entity + mark as busy
2) check request data against fetched Entity
3) commit transaction with updated Entity on good request data / abort transaction on bad request data
Will I be able to get ~1k transactions per seconds with this usage pattern for Cloud Datastore?