カラム指向データベースとは?
カラム指向データベースは、各カラムのデータを独立して保存します。これにより、特定のクエリで使用されるカラムのみをディスクから読み込むことができます。その代償として、全行に影響を与える操作は比例して高コストになります。カラム指向データベースの同義語は、カラム指向データベース管理システムです。ClickHouseはそのようなシステムの典型的な例です。
カラム指向データベースの主な利点は以下の通りです:
- 多くのカラムの中からいくつかのカラムのみを使用するクエリ。
- 大量のデータに対する集約クエリ。
- カラム単位のデータ圧縮。
以下は、レポートを作成する際の従来の行指向システムとカラム指向データベースの違いを示す図です:
従来の行指向

カラム指向

カラム指向データベースは、分析アプリケーションに最適な選択肢です。これは、必要な場合に多くのカラムをテーブルに持てる一方で、読み取りクエリの実行時間において未使用のカラムに対するコストを支払わなくて済むためです(従来のOLTPデータベースは、データが行として保存されているため、クエリ中にすべてのデータを読み取ります)。カラム指向データベースはビッグデータ処理やデータウェアハウジングのために設計されており、低コストのハードウェアの分散クラスターを使用してスケールすることが多く、スループットを向上させます。ClickHouseは、分散およびレプリケatedテーブルの組み合わせでこれを実現しています。
カラムデータベースの歴史や行指向データベースとの違い、カラムデータベースのユースケースについて詳しく知りたい場合は、カラムデータベースガイドをご覧ください。