--- slug: /ja/faq/general/columnar-database title: 列指向データベースとは? toc_hidden: true toc_priority: 101 --- # 列指向データベースとは? {#what-is-a-columnar-database} 列指向データベースは、各カラムのデータを独立して保存します。これにより、クエリで使用されるカラムだけのデータをディスクから読み取ることができます。その代わりに、行全体に影響を与える操作のコストが相対的に高くなります。列指向データベースの同義語は、列指向データベース管理システムです。ClickHouseはそのようなシステムの典型例です。 列指向データベースの主要な利点は次の通りです: - 多くのカラムの中からほんの数カラムだけを使用するクエリ。 - 大量のデータに対する集約クエリ。 - カラム単位でのデータ圧縮。 レポート作成時の従来の行指向システムと列指向データベースの違いを以下に示します: **従来の行指向** ![従来の行指向](@site/docs/ja/images/row-oriented.gif#) **列指向データベース** ![列指向データベース](@site/docs/ja/images/column-oriented.gif#) 列指向データベースは分析アプリケーションに最適です。なぜなら、テーブルに多くのカラムを用意しておくことができ、未使用のカラムに対してクエリ実行時間中にコストを払う必要がないからです(従来のOLTPデータベースは、データが行で保存されているため、クエリ時にすべてのデータを読み込む必要があります)。列指向データベースはビッグデータ処理とデータウェアハウジングのために設計されており、しばしば安価なハードウェアの分散クラスタを使ってスケールします。ClickHouseは、[分散テーブル](../../engines/table-engines/special/distributed.md)と[レプリケーションテーブル](../../engines/table-engines/mergetree-family/replication.md)の組み合わせでこれを実現します。