- Projection
- A stored, column-wise, sorted materialization anchored on one logical table, containing some of its columns plus any columns reachable through a chain of n:1 foreign-key relationships. C-Store stores only projections and never the base tables from which they are derived.
- Sort key
- The column or columns a projection is sorted on, applied left to right and written after a vertical bar. It fixes the segment partitioning, determines which encoding each column of the projection can use, and decides which queries that projection is good for.
- Segment
- A horizontal partition of a projection carrying an identifier Sid greater than zero and covering one key range of the sort key, with the set of ranges partitioning the key space. Segments are the unit of allocation to grid nodes and the unit the tuple mover works on.
- Storage key (SK)
- The identifier tying values in different columns of the same segment to a single logical row. In RS it is the record's ordinal position and is calculated rather than stored; in WS it is an explicitly stored integer larger than any RS storage key.
- Join index
- A per-segment table of (Sid, storage key) entries mapping each tuple of one projection to the same logical row in another projection anchored at the same table, always a one-to-one mapping. A path of join indices lets C-Store reassemble a full table in some common sort order.
- RS and WS
- The Read-optimized Store holds the bulk of the data, compressed and admitting only bulk insertion from the tuple mover; the Writeable Store is a small uncompressed B-tree-based column store with the identical logical design that absorbs all inserts and deletes.
- Merge-out process (MOP)
- The tuple mover's LSM-style operation on an (RS, WS) segment pair: take WS records inserted at or before the LWM, discard those already deleted, merge the rest with old RS blocks into a new segment RS', maintain the affected join indices and DRV, then cut over.
- K-safety
- The configurable property that the loss of any K nodes still leaves a covering set of projections and join indices from which every table can be reconstructed in a common sort order. After a failure C-Store simply continues at K-1 safety until the node is repaired.
- Epoch, high water mark, low water mark
- Timestamps are coarse epoch numbers handed out by a designated timestamp authority. The HWM is the most recent epoch every site has finished, so read-only queries at or below it see only committed data; the LWM is the earliest epoch they may use, bounding history and WS size.