> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> テーブルエンジンのドキュメント

# テーブルエンジン

テーブルエンジン (テーブルの種類) は、次の内容を決定します。

* データをどのように、どこに保存するか、どこに書き込むか、どこから読み取るか。
* どのクエリがどのようにサポートされるか。
* データへの同時アクセス。
* 索引がある場合に、それを使用するかどうか。
* リクエストをマルチスレッドで実行できるかどうか。
* データレプリケーションのパラメータ。

<div id="engine-families">
  ## エンジンファミリー
</div>

<div id="mergetree">
  ### MergeTree
</div>

高負荷のワークロード向けに、最も汎用的で高機能なテーブルエンジンです。これらのエンジンに共通する特徴は、高速にデータを挿入でき、その後のデータ処理がバックグラウンドで行われることです。`MergeTree` ファミリーのエンジンは、データのレプリケーション ([Replicated\*](/docs/ja/reference/engines/table-engines/mergetree-family/replication) バージョンのエンジン) 、パーティション化、セカンダリのデータスキッピング索引のほか、他のエンジンではサポートされない機能もサポートしています。

このファミリーに含まれるエンジン:

| MergeTree エンジン                                                                                                    |
| ----------------------------------------------------------------------------------------------------------------- |
| [MergeTree family の概要](/docs/ja/reference/engines/table-engines/mergetree-family/index)                                |
| [MergeTree](/docs/ja/reference/engines/table-engines/mergetree-family/mergetree)                                       |
| [ReplacingMergeTree](/docs/ja/reference/engines/table-engines/mergetree-family/replacingmergetree)                     |
| [SummingMergeTree](/docs/ja/reference/engines/table-engines/mergetree-family/summingmergetree)                         |
| [AggregatingMergeTree](/docs/ja/reference/engines/table-engines/mergetree-family/aggregatingmergetree)                 |
| [CollapsingMergeTree](/docs/ja/reference/engines/table-engines/mergetree-family/collapsingmergetree)                   |
| [VersionedCollapsingMergeTree](/docs/ja/reference/engines/table-engines/mergetree-family/versionedcollapsingmergetree) |
| [GraphiteMergeTree](/docs/ja/reference/engines/table-engines/mergetree-family/graphitemergetree)                       |
| [CoalescingMergeTree](/docs/ja/reference/engines/table-engines/mergetree-family/coalescingmergetree)                   |
| [厳密および近似ベクトル検索](/docs/ja/reference/engines/table-engines/mergetree-family/annindexes)                                  |
| [カスタムパーティションキー](/docs/ja/reference/engines/table-engines/mergetree-family/custom-partitioning-key)                     |
| [Replicated\* テーブルエンジン](/docs/ja/reference/engines/table-engines/mergetree-family/replication)                         |
| [テキスト索引を使用した全文検索](/docs/ja/reference/engines/table-engines/mergetree-family/textindexes)                               |

<div id="log">
  ### Log
</div>

最小限の機能を備えた軽量な[エンジン](/docs/ja/reference/engines/table-engines/log-family/index)です。多数の小さなテーブル (約 100 万行まで) にすばやく書き込み、後でまとめて読み取る必要がある場合に最適です。

このファミリーに含まれるエンジン:

| Log Engines                                                           |
| --------------------------------------------------------------------- |
| [Logファミリーのエンジン](/docs/ja/reference/engines/table-engines/log-family/index) |
| [TinyLog](/docs/ja/reference/engines/table-engines/log-family/tinylog)     |
| [StripeLog](/docs/ja/reference/engines/table-engines/log-family/stripelog) |
| [Log](/docs/ja/reference/engines/table-engines/log-family/log)             |

<div id="integration-engines">
  ### インテグレーションエンジン
</div>

他のデータストレージシステムやデータ処理システムと連携するためのエンジンです。

このファミリーに含まれるエンジン:

| インテグレーションエンジン                                                                                      |
| -------------------------------------------------------------------------------------------------- |
| [インテグレーション向けテーブルエンジン](/docs/ja/reference/engines/table-engines/integrations/index)                      |
| [ODBC](/docs/ja/reference/engines/table-engines/integrations/odbc)                                      |
| [JDBC](/docs/ja/reference/engines/table-engines/integrations/jdbc)                                      |
| [MySQL](/docs/ja/reference/engines/table-engines/integrations/mysql)                                    |
| [MongoDB](/docs/ja/reference/engines/table-engines/integrations/mongodb)                                |
| [Redis](/docs/ja/reference/engines/table-engines/integrations/redis)                                    |
| [HDFS](/docs/ja/reference/engines/table-engines/integrations/hdfs)                                      |
| [S3](/docs/ja/reference/engines/table-engines/integrations/s3)                                          |
| [Kafka](/docs/ja/reference/engines/table-engines/integrations/kafka)                                    |
| [EmbeddedRocksDB](/docs/ja/reference/engines/table-engines/integrations/embedded-rocksdb)               |
| [RabbitMQ](/docs/ja/reference/engines/table-engines/integrations/rabbitmq)                              |
| [PostgreSQL](/docs/ja/reference/engines/table-engines/integrations/postgresql)                          |
| [S3Queue](/docs/ja/reference/engines/table-engines/integrations/s3queue)                                |
| [TimeSeries](/docs/ja/reference/engines/table-engines/integrations/time-series)                         |
| [ArrowFlight](/docs/ja/reference/engines/table-engines/integrations/arrowflight)                        |
| [AzureQueue](/docs/ja/reference/engines/table-engines/integrations/azure-queue)                         |
| [AzureBlobStorage](/docs/ja/reference/engines/table-engines/integrations/azureBlobStorage)              |
| [Delta Lake](/docs/ja/reference/engines/table-engines/integrations/deltalake)                           |
| [ExternalDistributed](/docs/ja/reference/engines/table-engines/integrations/ExternalDistributed)        |
| [Hive](/docs/ja/reference/engines/table-engines/integrations/hive)                                      |
| [Hudi](/docs/ja/reference/engines/table-engines/integrations/hudi)                                      |
| [Iceberg](/docs/ja/reference/engines/table-engines/integrations/iceberg)                                |
| [MaterializedPostgreSQL](/docs/ja/reference/engines/table-engines/integrations/materialized-postgresql) |
| [NATS](/docs/ja/reference/engines/table-engines/integrations/nats)                                      |
| [Paimon](/docs/ja/reference/engines/table-engines/integrations/paimon)                                  |
| [SQLite](/docs/ja/reference/engines/table-engines/integrations/sqlite)                                  |
| [YTsaurus](/docs/ja/reference/engines/table-engines/integrations/ytsaurus)                              |

<div id="special-engines">
  ### 特殊エンジン
</div>

このファミリーに含まれるエンジン:

| 特殊エンジン                                                                     |
| -------------------------------------------------------------------------- |
| [特殊テーブルエンジン](/docs/ja/reference/engines/table-engines/special/index)            |
| [Alias](/docs/ja/reference/engines/table-engines/special/alias)                 |
| [Distributed](/docs/ja/reference/engines/table-engines/special/distributed)     |
| [Dictionary](/docs/ja/reference/engines/table-engines/special/dictionary)       |
| [Merge](/docs/ja/reference/engines/table-engines/special/merge)                 |
| [Executable](/docs/ja/reference/engines/table-engines/special/executable)       |
| [File](/docs/ja/reference/engines/table-engines/special/file)                   |
| [Null](/docs/ja/reference/engines/table-engines/special/null)                   |
| [Set](/docs/ja/reference/engines/table-engines/special/set)                     |
| [Join](/docs/ja/reference/engines/table-engines/special/join)                   |
| [URL](/docs/ja/reference/engines/table-engines/special/url)                     |
| [View](/docs/ja/reference/engines/table-engines/special/view)                   |
| [Memory](/docs/ja/reference/engines/table-engines/special/memory)               |
| [Buffer](/docs/ja/reference/engines/table-engines/special/buffer)               |
| [External Data](/docs/ja/reference/engines/table-engines/special/external-data) |
| [GenerateRandom](/docs/ja/reference/engines/table-engines/special/generate)     |
| [KeeperMap](/docs/ja/reference/engines/table-engines/special/keepermap)         |
| [FileLog](/docs/ja/reference/engines/table-engines/special/filelog)             |

<div id="table_engines-virtual_columns">
  ## 仮想カラム
</div>

仮想カラムは、エンジンのソースコードで定義される、テーブルエンジンに組み込まれた属性です。

仮想カラムを `CREATE TABLE` クエリで指定することはできません。また、`SHOW CREATE TABLE` や `DESCRIBE TABLE` クエリの結果にも表示されません。仮想カラムは読み取り専用でもあるため、仮想カラムにデータを挿入することもできません。

仮想カラムからデータを取得するには、`SELECT` クエリでその名前を明示的に指定する必要があります。`SELECT *` では仮想カラムの値は返されません。

テーブルの仮想カラムのいずれかと同じ名前のカラムを持つテーブルを作成すると、その仮想カラムにはアクセスできなくなります。これは推奨されません。競合を避けるため、仮想カラム名には通常、先頭にアンダースコアが付いています。

* `_table` — データの読み取り元であるテーブル名を格納します。Type: [String](/docs/ja/reference/data-types/string).

  使用しているテーブルエンジンに関係なく、すべてのテーブルには `_table` という共通の仮想カラムがあります。

  Merge テーブルエンジンを使用してテーブルにクエリする場合は、`WHERE/PREWHERE` 句で `_table` に対する定数条件を設定できます (たとえば `WHERE _table='xyz'`) 。この場合、読み取り処理は `_table` の条件を満たすテーブルに対してのみ実行されるため、`_table` カラムは索引として機能します。

  `SELECT ... FROM (... UNION ALL ...)` のような形式のクエリを使用すると、`_table` カラムを指定することで、返された行が実際にどのテーブルに由来するかを判別できます。
