メインコンテンツへスキップ
テーブルエンジンは、主に次の3つのカテゴリに分かれます。 そのほかのエンジンは、それぞれ用途が固有で、現時点ではファミリーとして分類されていないため、この “special” カテゴリに含められています。
PageDescription
Alias テーブルエンジンAlias テーブルエンジンは、別のテーブルへの透過的なプロキシを作成します。すべての操作はターゲットテーブルに転送され、エイリアス自体にはデータは保存されません。
Distributed テーブルエンジンDistributed エンジンを使用するテーブルは、それ自体にはデータを保存しませんが、複数のサーバーにまたがる分散クエリ処理を可能にします。読み取りは自動的に並列化されます。読み取り時には、存在する場合、リモートサーバー上のテーブル索引が使用されます。
Dictionary テーブルエンジンDictionary エンジンは、Dictionary データを ClickHouse テーブルとして表示します。
Merge テーブルエンジンMerge エンジン (MergeTree と混同しないでください) は、それ自体ではデータを保存しませんが、任意の数の他のテーブルを同時に読み取ることができます。
Executable と ExecutablePool テーブルエンジンExecutable および ExecutablePool テーブルエンジンでは、ユーザーが定義したスクリプトによって行が生成されるテーブルを定義できます (行を stdout に書き込むことで生成します) 。
File テーブルエンジンFile テーブルエンジンは、サポートされているファイルフォーマット (TabSeparatedNative など) のいずれかでデータをファイルに保存します。
Null テーブルエンジンNull テーブルへの書き込み時には、データは無視されます。Null テーブルからの読み取り時には、応答は空になります。
Set テーブルエンジン常に RAM 上に保持されるデータセットです。IN 演算子の右辺で使用することを目的としています。
Join テーブルエンジンJOIN 演算で使用するための、任意の事前構築済みデータ構造です。
URL テーブルエンジンリモートの HTTP/HTTPS サーバーとの間でデータをクエリします。このエンジンは File エンジンに似ています。
View テーブルエンジンビューを実装するために使用されます (詳細は CREATE VIEW query を参照してください) 。データは保存せず、指定された SELECT クエリだけを保存します。テーブルから読み取る際には、このクエリを実行し、不要なカラムはクエリから削除されます。
Memory テーブルエンジンMemory エンジンは、データを RAM に非圧縮のまま保存します。データは読み込まれたときとまったく同じ形で保持されます。言い換えると、このテーブルからの読み取りには実質的にコストがかかりません。
Buffer テーブルエンジン書き込むデータを RAM にバッファリングし、定期的に別のテーブルへフラッシュします。読み取り時には、バッファともう一方のテーブルの両方から同時にデータが読み取られます。
クエリ処理のための外部データClickHouse では、クエリ処理に必要なデータを SELECT クエリとともにサーバーへ送信できます。このデータは一時テーブルに格納され、クエリ内で使用できます (たとえば IN 演算子で使用します) 。
GenerateRandom テーブルエンジンGenerateRandom テーブルエンジンは、指定されたテーブルスキーマに基づいてランダムデータを生成します。
KeeperMap テーブルエンジンこのエンジンを使用すると、Keeper/ZooKeeper クラスターを、線形化可能な書き込みと逐次一貫性のある読み取りを備えた一貫性のあるキー・バリューストアとして利用できます。
FileLog テーブルエンジンこのエンジンでは、アプリケーションのログファイルをレコードのストリームとして処理できます。
最終更新日 2026年6月10日