C-Store is a column-oriented DBMS designed for read-optimized OLAP workloads. It adopts a column store architecture, explores various DSM compression schemes and corresponding query optimization strategies, stores data in overlapping collections of projections for both performance and availability, and employs other optimizations specific to column store. (Please delete anything in parenthesis as it is used to point out ambiguity)
Two-Phase Locking (Deadlock Detection)
The system maintains a distributed lock table. Deadlock is resolved via timeouts by aborting one of the deadlocked transactions. (I think this means deadlock detection?)
Despite the different possible encoding schemes of a column (e.g. RLE, bit-map encoding, or block-oriented delta encoding), they all use B-tree indexes. The system also stores join indices to stitch together all records in a table from its different columns (projections). Since a column which is ordered by another column in the same projection and contains few distinct values is encoded using bit-map encoding plus RLE, the paper also mentioned their extensive use of bitmap indexes.
Decomposition Storage Model (Columnar)
As the name suggests, C-Store is all about column store ... Interestingly, both the read-optimized store component and the update/insert-oriented writable store component adopt the column store architecture.
http://db.csail.mit.edu/projects/cstore/
Massachusetts Institute of Technology, Brown University
2005
2008