> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 列指向データベースとは何ですか？

> このページでは、列指向データベースについて説明します

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

列指向データベースは、各カラムのデータを個別に格納します。これにより、任意のクエリで使用されるカラムについてのみ、ディスクからデータを読み取ることができます。その一方で、行全体に影響する操作は、それに応じてコストが高くなります。列指向データベースは、カラム指向のデータベース管理システムとも呼ばれます。ClickHouse は、このようなシステムの代表的な例です。

列指向データベースの主な利点は次のとおりです。

* 多数のカラムのうち、少数のカラムだけを使用するクエリに適している。
* 大量のデータに対する集約クエリに適している。
* カラム単位でデータを圧縮できる。

以下は、レポート作成時における従来の行指向システムと列指向データベースの違いを示した図です。

**従来の行指向**

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/0xkAyEEn8ANRFZGQ/images/row-oriented.gif?s=65d32283890f54b87398e0bddf1a0ec3" alt="従来の行指向データベース" size="md" border width="630" height="258" data-path="images/row-oriented.gif" />

**カラム指向**

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/ddNWBC5mE_w-syUp/images/column-oriented.gif?s=43234d1f2e731088ce5e59de023a4d00" alt="カラム指向データベース" size="md" border width="630" height="258" data-path="images/column-oriented.gif" />

列指向データベースは、分析アプリケーションに適した選択肢です。テーブルに必要になるかもしれない多数のカラムをあらかじめ持たせておいても、読み取りクエリの実行時に未使用のカラム分のコストを負担せずに済むためです (従来の OLTP データベースでは、データはカラム単位ではなく行単位で格納されるため、クエリ時にすべてのデータを読み取ります) 。カラム指向データベースはビッグデータ処理やデータウェアハウジング向けに設計されており、多くの場合、低コストなハードウェアで構成された分散クラスターを使ってネイティブにスケールし、スループットを向上させます。ClickHouse では、[distributed](/ja/reference/engines/table-engines/special/distributed) テーブルと [replicated](/ja/reference/engines/table-engines/mergetree-family/replication) テーブルを組み合わせることで、これを実現しています。

カラムデータベースの歴史、行指向データベースとの違い、そしてカラムデータベースのユースケースについて詳しく知りたい場合は、[the column databases guide](https://clickhouse.com/engineering-resources/what-is-columnar-database) を参照してください。
