特殊なテーブルエンジン
テーブルエンジンには主に3つのカテゴリがあります:
- 本番環境での主要な用途向けのMergeTreeエンジンファミリー
- 小規模な一時データ向けのLogエンジンファミリー
- 統合用のテーブルエンジン
残りのエンジンはその用途が独自であり、まだファミリーにグループ化されていないため、この「特殊」カテゴリに分類されています。
| ページ | 説明 |
|---|---|
| Alias テーブルエンジン | Alias テーブルエンジンは、別のテーブルへの透過的なプロキシを作成します。すべての操作は対象テーブルに転送され、エイリアス自体にはデータは保存されません。 |
| Distributed テーブルエンジン | Distributed エンジンを使用するテーブルはそれ自体ではデータを保存しませんが、複数のサーバーにまたがる分散クエリ処理を可能にします。読み取りは自動的に並列化されます。読み取り時には、存在する場合、リモートサーバー上のテーブル索引が使用されます。 |
| Dictionary テーブルエンジン | Dictionary エンジンは、辞書データを ClickHouse テーブルとして表示します。 |
| Merge テーブルエンジン | Merge エンジン (MergeTree と混同しないでください) は、それ自体ではデータを保存しませんが、任意の数の他のテーブルを同時に読み取ることができます。 |
| Executable および ExecutablePool テーブルエンジン | Executable および ExecutablePool テーブルエンジンでは、ユーザーが定義したスクリプト (行を stdout に書き込む) から行が生成されるテーブルを定義できます。 |
| File テーブルエンジン | File テーブルエンジンは、サポートされているファイルフォーマット (TabSeparated、Native など) のいずれかでデータをファイルに保持します。 |
| 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 テーブルエンジン | このエンジンでは、アプリケーションログファイルをレコードのストリームとして処理できます。 |