SI-CV: Snapshot Isolation with Co-located Versions

Snapshot Isolation is an established concurrency control algorithm, where each transaction executes against its own version/snapshot of the database. Version management may produce unnecessary random writes. Compared to magnetic disks Flash storage offers fundamentally different IO characteristics, e.g. excellent random read, low random write performance and strong read/write asymmetry. Therefore the performance of snapshot isolation can be improved by minimizing the random writes. We propose a variant of snapshot isolation (called SI-CV) that collocates tuple versions created by a transaction in adjacent blocks and therefore minimizes random writes at the cost of random reads. Its performance, relative to the original algorithm, in overloaded systems under heavy transactional loads in TPC-C scenarios on Flash SSD storage increases significantly. At high loads that bring the original system into overload, the transactional throughput of SI-CV increases further, while maintaining response times that are multiple factors lower.

[1]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[2]  Abraham Silberschatz,et al.  Database System Concepts , 1980 .

[3]  Xiaodong Zhang,et al.  Understanding intrinsic characteristics and system implications of flash memory based solid state drives , 2009, SIGMETRICS '09.

[4]  David J. DeWitt,et al.  Data page layouts for relational databases on deep memory hierarchies , 2002, The VLDB Journal.

[5]  Sang-Won Lee,et al.  Design of flash-based DBMS: an in-page logging approach , 2007, SIGMOD '07.

[6]  Michael J. Cahill Serializable isolation for snapshot databases , 2009, TODS.

[7]  Abraham Silberschatz,et al.  Database Systems Concepts , 1997 .

[8]  Goetz Graefe,et al.  Query processing techniques for solid state drives , 2009, SIGMOD Conference.

[9]  Ilia Petrov,et al.  Page Size Selection for OLTP Databases on SSD Storage , 2010, SBBD.

[10]  Gottfried Vossen Transaction Management , 2009, Encyclopedia of Database Systems.

[11]  Alan Fekete,et al.  Snapshot Isolation , 2009, Encyclopedia of Database Systems.

[12]  Ryan Johnson,et al.  Evaluating and repairing write performance on flash devices , 2009, DaMoN '09.

[13]  David J. DeWitt,et al.  Weaving Relations for Cache Performance , 2001, VLDB.

[14]  Patrick E. O'Neil,et al.  Precisely Serializable Snapshot Isolation (PSSI) , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[15]  Todor Ivanov,et al.  Page Size Selection for OLTP Databases on SSD RAID Storage , 2011 .

[16]  Bettina Kemme,et al.  Postgres-R(SI): combining replica control with concurrency control based on snapshot isolation , 2005, 21st International Conference on Data Engineering (ICDE'05).

[17]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

[18]  Fred haratan,et al.  Differences , 2003, BMJ : British Medical Journal.

[19]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[20]  Philip A. Bernstein,et al.  Hyder - A Transactional Record Manager for Shared Flash , 2011, CIDR.