ClickHouse/docs/ja/engines/table-engines/index.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

91 lines
5.5 KiB
Markdown
Raw Normal View History

2024-11-18 02:58:58 +00:00
---
slug: /ja/engines/table-engines/
toc_folder_title: テーブルエンジン
toc_priority: 26
toc_title: はじめに
---
# テーブルエンジン
テーブルエンジン(テーブルの種類)は次の点を決定します:
- データの保存方法と保存場所、書き込みおよび読み込み先。
- サポートされているクエリとその方法。
- 同時データアクセス。
- インデックスの使用(存在する場合)。
- マルチスレッドでの要求実行が可能かどうか。
- データレプリケーションのパラメータ。
## エンジンファミリー {#engine-families}
### MergeTree {#mergetree}
高負荷タスク向けの最も汎用的かつ機能的なテーブルエンジンです。これらエンジンの共通の特徴は、データの迅速な挿入とその後のバックグラウンドでのデータ処理です。`MergeTree`ファミリーエンジンはデータのレプリケーション(エンジンの[Replicated\*](../../engines/table-engines/mergetree-family/replication.md#table_engines-replication) バージョン)、パーティション、二次データスキッピングインデックスなど、他のエンジンでサポートされていない機能をサポートしています。
このファミリーに含まれるエンジン:
- [MergeTree](../../engines/table-engines/mergetree-family/mergetree.md#mergetree)
- [ReplacingMergeTree](../../engines/table-engines/mergetree-family/replacingmergetree.md#replacingmergetree)
- [SummingMergeTree](../../engines/table-engines/mergetree-family/summingmergetree.md#summingmergetree)
- [AggregatingMergeTree](../../engines/table-engines/mergetree-family/aggregatingmergetree.md#aggregatingmergetree)
- [CollapsingMergeTree](../../engines/table-engines/mergetree-family/collapsingmergetree.md#table_engine-collapsingmergetree)
- [VersionedCollapsingMergeTree](../../engines/table-engines/mergetree-family/versionedcollapsingmergetree.md#versionedcollapsingmergetree)
- [GraphiteMergeTree](../../engines/table-engines/mergetree-family/graphitemergetree.md#graphitemergetree)
### Log {#log}
最小の機能を持つ軽量な[エンジン](../../engines/table-engines/log-family/index.md)です。小規模なテーブル最大約100万行を迅速に書き込み、その後全体を読み取りたい場合に最も効果的です。
このファミリーに含まれるエンジン:
- [TinyLog](../../engines/table-engines/log-family/tinylog.md#tinylog)
- [StripeLog](../../engines/table-engines/log-family/stripelog.md#stripelog)
- [Log](../../engines/table-engines/log-family/log.md#log)
### インテグレーションエンジン {#integration-engines}
他のデータストレージおよび処理システムと通信するためのエンジンです。
このファミリーに含まれるエンジン:
- [ODBC](../../engines/table-engines/integrations/odbc.md)
- [JDBC](../../engines/table-engines/integrations/jdbc.md)
- [MySQL](../../engines/table-engines/integrations/mysql.md)
- [MongoDB](../../engines/table-engines/integrations/mongodb.md)
- [Redis](../../engines/table-engines/integrations/redis.md)
- [HDFS](../../engines/table-engines/integrations/hdfs.md)
- [S3](../../engines/table-engines/integrations/s3.md)
- [Kafka](../../engines/table-engines/integrations/kafka.md)
- [EmbeddedRocksDB](../../engines/table-engines/integrations/embedded-rocksdb.md)
- [RabbitMQ](../../engines/table-engines/integrations/rabbitmq.md)
- [PostgreSQL](../../engines/table-engines/integrations/postgresql.md)
- [S3Queue](../../engines/table-engines/integrations/s3queue.md)
- [TimeSeries](../../engines/table-engines/integrations/time-series.md)
### 特殊エンジン {#special-engines}
このファミリーに含まれるエンジン:
- [分散テーブル](../../engines/table-engines/special/distributed.md#distributed)
- [Dictionary](../../engines/table-engines/special/dictionary.md#dictionary)
- [Merge](../../engines/table-engines/special/merge.md#merge)
- [File](../../engines/table-engines/special/file.md#file)
- [Null](../../engines/table-engines/special/null.md#null)
- [Set](../../engines/table-engines/special/set.md#set)
- [Join](../../engines/table-engines/special/join.md#join)
- [URL](../../engines/table-engines/special/url.md#table_engines-url)
- [View](../../engines/table-engines/special/view.md#table_engines-view)
- [Memory](../../engines/table-engines/special/memory.md#memory)
- [Buffer](../../engines/table-engines/special/buffer.md#buffer)
- [KeeperMap](../../engines/table-engines/special/keepermap.md)
## 仮想カラム {#table_engines-virtual_columns}
仮想カラムは、エンジンのソースコード内で定義されている統合テーブルエンジンの属性です。
`CREATE TABLE` クエリで仮想カラムを指定すべきではなく、`SHOW CREATE TABLE` や `DESCRIBE TABLE` クエリの結果に仮想カラムが表示されることはありません。仮想カラムは読み取り専用のため、仮想カラムにデータを挿入することもできません。
仮想カラムからデータを選択するには、`SELECT` クエリでその名前を指定する必要があります。`SELECT *` では仮想カラムの値は返されません。
テーブルを作成する際に、仮想カラムと同じ名前のカラムを作成した場合、仮想カラムは使用できなくなります。このようなことはお勧めしません。衝突を避けるために、仮想カラムの名前には通常アンダースコアを接頭辞として付けられています。