giovedì 4 dicembre 2014

Transactions and Isolation Level django-psycopg2-postgres-oracle

Django docs on transactions
https://docs.djangoproject.com/en/dev/topics/db/transactions/

Django sources for transactions (a must-read if you want to understand "atomic")
https://github.com/django/django/blob/master/django/db/transaction.py

Aymeric Augustin (Django core contrib) Talks on transactions
https://static.myks.org/data/20130928-DjangoCong-Transactions.pdf (21 slides)
https://static.myks.org/data/20130904-DjangoCon-Transactions.pdf (50 slides more complete!)

Transaction Handling in psycopg2
http://initd.org/psycopg/docs/usage.html#transactions-control

Snapshot isolation
http://en.wikipedia.org/wiki/Snapshot_isolation

Postgres - Transaction Isolation
http://www.postgresql.org/docs/current/static/transaction-iso.html

Postgres - True Serializable in 9.1
http://wiki.postgresql.org/wiki/Serializable

Oracle 11.1 - Data Concurrency and Consistency (Isolation level)
http://docs.oracle.com/cd/B28359_01/server.111/b28318/consist.htm#CNCPT020

Breaking Oracle SERIALIZABLE (and PG till 9.1)
http://pveentjer.wordpress.com/2008/10/04/breaking-oracle-serializable/

Serializable Snapshot Isolation in PostgreSQL
http://drkp.net/papers/ssi-vldb12.pdf

When is "ACID" ACID? Rarely.
http://www.bailis.org/blog/when-is-acid-acid-rarely/

Concurrency—There’s No Free Lunch
http://www.nocoug.org/Journal/NoCOUG_Journal_200511.pdf#page=8

The Hobgoblin of Little Minds
http://www.nocoug.org/download/2005-08/SERIALIZABILITY_-_White_Paper.pdf

Making Snapshot Isolation Serializable
http://www.cs.umb.edu/~isotest/snaptest/snaptest.pdf