テーブルエンジン
テーブルエンジン(テーブルのタイプ)は以下を決定します:
- データの保存方法と場所、書き込み先、読み込み元。
- サポートされているクエリとその方法。
- 同時データアクセス。
- インデックスの使用(存在する場合)。
- マルチスレッドリクエスト実行が可能かどうか。
- データレプリケーションパラメータ。
エンジンファミリー
MergeTree
高負荷タスクに対する最も汎用的で機能的なテーブルエンジンです。これらのエンジンが共有する特性は、迅速なデータ挿入とその後のバックグラウンドデータ処理です。 MergeTree
ファミリーのエンジンはデータレプリケーション(Replicated* バージョンのエンジン)、パーティショニング、二次データスキッピングインデックスなど、他のエンジンではサポートされていないさまざまな機能をサポートしています。
ファミリー内のエンジン:
MergeTreeエンジン |
---|
MergeTree |
ReplacingMergeTree |
SummingMergeTree |
AggregatingMergeTree |
CollapsingMergeTree |
VersionedCollapsingMergeTree |
GraphiteMergeTree |
Log
最小限の機能を持つ軽量な エンジン です。多くの小さなテーブル(約100万行まで)を迅速に書き込む必要がある場合や、後で全体として読み込む場合に最も効果的です。
ファミリー内のエンジン:
Logエンジン |
---|
TinyLog |
StripeLog |
Log |
インテグレーションエンジン
他のデータストレージおよび処理システムと通信するためのエンジンです。
ファミリー内のエンジン:
インテグレーションエンジン |
---|
ODBC |
JDBC |
MySQL |
MongoDB |
Redis |
HDFS |
S3 |
Kafka |
EmbeddedRocksDB |
RabbitMQ |
PostgreSQL |
S3Queue |
TimeSeries |
特殊エンジン
ファミリー内のエンジン:
特殊エンジン |
---|
Distributed |
Dictionary |
Merge |
Executable |
File |
Null |
Set |
Join |
URL |
View |
Memory |
Buffer |
External Data |
GenerateRandom |
KeeperMap |
FileLog |
仮想カラム
仮想カラムは、エンジンソースコードで定義された不可欠なテーブルエンジン属性です。
CREATE TABLE
クエリで仮想カラムを指定するべきではなく、SHOW CREATE TABLE
および DESCRIBE TABLE
クエリの結果にも表示されません。仮想カラムは読み取り専用であり、データを挿入することはできません。
仮想カラムからデータを選択するには、SELECT
クエリでその名前を指定する必要があります。 SELECT *
では仮想カラムの値は返されません。
テーブルに仮想カラムと同じ名前のカラムを作成すると、その仮想カラムにアクセスできなくなります。これを行うことは推奨されません。衝突を避けるために、仮想カラム名には通常アンダースコアがプレフィックスとして付けられます。