SIAS-V in Action: Snapshot Isolation Append Storage - Vectors on Flash
Robert Gottstein, Thorsten Peter, Ilia Petrov, Alejandro Buchmann · 2014
Multi-Version Database Management Systems (MV-DBMS) are wide-spread and can effectively address the characteris-tics of new storage technologies such as Flash, yet they are mainly optimized for traditional storage. A modification of a tuple in a MV-DBMS results in a new version of that item and the invalidation of the old version. Under Snapshot Isolation (SI) the invalidation is performed as an in-place update, which is suboptimal for Flash. We introduce Snap-shot Isolation Append Storage – Vectors (SIAS-V), which avoids the invalidation related updates by organising tuple versions as a simple linked list and by utilizing bitmap vec-tors representing different states of a single version. SIAS-V sequentializes writes and reduces the write-overhead by ap-pending in tuple-version granularity, writing out only com-pletely filled pages, and eliminating in-place invalidation. In this demonstration we showcase the SIAS-V imple-mentation in PostgreSQL side-to-side with SI. Firstly, we demonstrate that the I/O distribution of PostgreSQL un-der a TPC-C style workload, exhibits a dominant small-sequential write pattern for SIAS-V, as opposed to a ran-dom write dominated pattern under SI. Secondly, we demon-strate how the dense packing of tuple-versions on pages un-der SIAS-V reduces significantly the amount of data written. Thirdly, we show that SIAS-V yields to stable write per-formance and low transaction response times under mixed loads. Last but not least, we demonstrate that SIAS-V also provides performance improvements for traditional HDDs. 1.