4 ms·
PostgreSQL supports true serializability, while maintaining good performance and concurrency: http://www.postgresql.org/docs/9.4/static/transaction-iso.html#XA
by jeffdavis 12y ago
PostgreSQL supports true serializability, while maintaining good performance and concurrency:
http://www.postgresql.org/docs/9.4/static/transaction-iso.html#XACT-SERIALIZABLE http://www.postgresql.org/docs/9.4/static/transaction-iso.ht...
It's based on fairly recent research by Michael J. Cahill, et al.
It's simple. If you are confused, then set default_transaction_isolation=true. You will get errors if there's a data race.
Given that, what's the point of the article? That sub-SERIALIZABLE modes have complex semantics? Yes, that's true, but they are still much more likely to help you then the NoSQL "you're on your own to avoid races" approach.
If you want to avoid lots of really challenging problems, PostgreSQL is often the best bet by far.
- VieElm 12y ago> If you want to avoid lots of really challenging problems, PostgreSQL is often the best bet by far. How about 0 single points of failure. How does PostgreSQL help you avoid that challenging problem?
- adontz 12y agoI'm pretty sure, every try to solve all development and maintenance problems in single software will always fail. And also asking "How to do X with Y?" is bad. "How can you ensure zero points of failure?" is the right question not "How does PostgreSQL help you ensure zero points of failure?".
- Dave_Rosenthal 12y agoPostgres doesn't. But VoltDB, FoundationDB, and Marklogic all have serializable transactions and no single-point-of-failure if you are looking to solve both problems at the same time.