メインコンテンツへスキップ
メインコンテンツへスキップ

特殊なテーブルエンジン

テーブルエンジンには、主に次の 3 つのカテゴリがあります。

それ以外のエンジンは用途が固有で、まだファミリーとしてグループ化されていないため、この「特殊」カテゴリに分類されています。

Page説明
Alias table engineAlias テーブルエンジンは、別のテーブルへの透過的なプロキシを作成します。すべての操作は対象テーブルに転送され、エイリアス自体はデータを保持しません。
Distributed table engineDistributed エンジンを持つテーブルは自身のデータを一切保持しませんが、複数サーバー上での分散クエリ処理を可能にします。読み取りは自動的に並列化されます。読み取り時には、存在する場合はリモートサーバー上のテーブルインデックスが使用されます。
Dictionary table engineDictionary エンジンは、辞書データを ClickHouse テーブルとして表示します。
Merge table engineMerge エンジン(MergeTree と混同しないでください)は自体ではデータを保存しませんが、任意の数の他のテーブルから同時に読み取ることを可能にします。
Executable and ExecutablePool table enginesExecutable および ExecutablePool テーブルエンジンを使用すると、(行を stdout に書き出すことで)定義したスクリプトから行が生成されるテーブルを定義できます。
File table engineFile テーブルエンジンは、サポートされているファイル形式(TabSeparatedNative など)のいずれかでデータをファイル内に保持します。
Null table engineNull テーブルに書き込むと、データは破棄されます。Null テーブルから読み取ると、レスポンスは空になります。
Set table engine常に RAM 上に存在するデータセットです。IN 演算子の右側での使用を意図しています。
Join table engineJOIN 演算で使用するためのオプションの事前構築済みデータ構造です。
URL table engineリモートの HTTP/HTTPS サーバーとの間でデータをクエリします。このエンジンは File エンジンに似ています。
View table engineビューを実装するために使用されます(詳細は CREATE VIEW query を参照してください)。データは保存せず、指定された SELECT クエリのみを保持します。テーブルから読み取るときには、このクエリを実行し(クエリから不要なカラムをすべて削除します)。
Memory table engineMemory エンジンは、データを RAM 上に非圧縮形式で保存します。データは、読み出す際にも受信時とまったく同じ形式のまま保持されます。言い換えると、このテーブルからの読み取りには一切の追加処理が発生しません。
Buffer table engine書き込み対象のデータを RAM 上でバッファリングし、定期的に別のテーブルへフラッシュします。読み取り操作時には、バッファともう一方のテーブルの両方から同時にデータが読み取られます。
External data for query processingClickHouse では、SELECT クエリと一緒に、クエリを処理するために必要なデータをサーバーに送信できます。このデータは一時テーブルに格納され、クエリ内で(たとえば IN 演算子で)使用できます。
GenerateRandom table engineGenerateRandom テーブルエンジンは、指定されたテーブルスキーマに対してランダムなデータを生成します。
KeeperMap table engineこのエンジンを使用すると、Keeper/ZooKeeper クラスタを、一貫性のあるキー・バリュー・ストアとして、線形化可能な書き込みと逐次一貫性を持つ読み取りで利用できます。
FileLog table engineこのエンジンを使用すると、アプリケーションのログファイルをレコードストリームとして処理できます。