Earlier quoted context omitted.
Spanner is not a non-relational database. As for Firestore, it’s not clear whether it supports cross-collection transactions. Cloud Datastore does not support cross-namespace transactions AFAICT.
a) Cloud Firestore supports transactions across the entire database. You can learn more about them here: https://cloud.google.com/firestore/docs/manage-data/transact... . b) Given that the primary use case for namespaces was/is multitenancy, it's not clear to me why you'd want to transact across them. Nevertheless, you can. What's leading you to draw this conclusion?
Amazon DynamoDB Transactions
71–77 of 77 posts
Re: Amazon DynamoDB Transactions
#72“DynamoDB is the only non-relational database that supports transactions across multiple partitions and tables.” Uh... this is just not true.
Can you identify some others?
Re: Amazon DynamoDB Transactions
#73Earlier quoted context omitted.
Many libraries handle db connections poorly, or have heavy-handled pooling systems, or aren't fully async, all of which limits total throughput. The key/value clients usually have a much simpler APIs like HTTP which scale much better.
I don't understand. What makes you think it's easier for NoSQL clients (versus SQL clients) to correctly implement connection pooling and async networking? For example, MongoDB and Cassandra wire protocols are not based on HTTP. And even if they were based on HTTP, connection pooling and async networking still requires a specific effort. Which libraries are you thinking of (as examples of good and bad behavior)?
Libraries just have to do more work, compared to simpler protocols, or HTTP which is incredibly easy to scale and pretty much handled automatically by the standard libraries at this point.
Re: Amazon DynamoDB Transactions
#74Earlier quoted context omitted.
The Google Cloud Datastore (formerly the "App Engine Datastore") has had cross-entity-group transactions since 2011: https://googleappengine.blogspot.com/2011/10/app-engine-155-...
The cross group transactions are a little limited - https://cloud.google.com/appengine/docs/standard/java/datast... I don't think it's fair to compare them. However, the more recent Google storage offerings based on Cloud Spanner do seem to offer this. I don't see how Amazon can make this statement - that doesn't stop it being an excellent enhancement to DynamoDB though.
Re: Amazon DynamoDB Transactions
#75Earlier quoted context omitted.
The Google Cloud Datastore (formerly the "App Engine Datastore") has had cross-entity-group transactions since 2011: https://googleappengine.blogspot.com/2011/10/app-engine-155-...
The “and tables” clause is the differentiator, I think. DynamoDB tables are roughly equivalent to Datastore namespaces; I don’t believe Google Cloud Datastore supports cross-namespace transactions.
Re: Amazon DynamoDB Transactions
#76Earlier quoted context omitted.
a) Cloud Firestore supports transactions across the entire database. You can learn more about them here: https://cloud.google.com/firestore/docs/manage-data/transact... . b) Given that the primary use case for namespaces was/is multitenancy, it's not clear to me why you'd want to transact across them. Nevertheless, you can. What's leading you to draw this conclusion?
The documentation is what led me to that conclusion, since it's not explicit as to what the transaction boundaries are, but I could be mistaken. Does this mean that the poster's claim is erroneous?
Re: Amazon DynamoDB Transactions
#77Earlier quoted context omitted.
The documentation is what led me to that conclusion, since it's not explicit as to what the transaction boundaries are, but I could be mistaken. Does this mean that the poster's claim is erroneous?
It does. It's not in the documentation because it doesn't have boundaries within the database.