列指向ストレージ
データを行ごとではなく列ごとに保存するストレージ方式。分析に最適で、データウェアハウスでは標準である。
SELECT AVG(price) FROM trades のようなクエリは、行全体ではなく price 列だけを読めばよい。同じ列の値は性質が似ている(すべて整数、日付の範囲が近いなど)ので圧縮率が高く、10〜50倍にもなる。SIMD 命令で数百の値を並列処理するベクトル化実行も効く。ClickHouse、DuckDB、Snowflake、BigQuery、Redshift は列指向で、Parquet と ORC は列指向のファイル形式だ。弱点は行単位の OLTP で、取引を1件挿入するにも N 個の列ファイルへ書く必要がある。折衷として、PostgreSQL の拡張(Citus、Hydra)は行ストアの隣に列ストアのテーブルを置く。