特殊表引擎
表引擎主要分为三大类:
- MergeTree 引擎系列 用于主要生产环境。
- Log 引擎系列 用于小型临时数据。
- 集成表引擎。
其余引擎在用途上各具特色,尚未归入任何系列,因此被归类到这个"特殊"类别中。
| 页面 | 描述 |
|---|---|
| Alias table engine | Alias 表引擎为另一张表创建透明代理。所有操作都会转发到目标表,而别名本身不存储任何数据。 |
| Distributed table engine | 使用 Distributed 引擎的表本身不存储任何数据,但支持在多台服务器上进行分布式查询处理。读取会自动并行化。读取时,如果远程服务器上存在表索引,则会使用这些索引。 |
| Dictionary table engine | Dictionary 引擎将字典数据呈现为 ClickHouse 表。 |
| Merge table engine | Merge 引擎 (不要与 MergeTree 混淆) 本身不存储数据,但允许同时从任意数量的其他表中读取数据。 |
| Executable and ExecutablePool table engines | Executable 和 ExecutablePool 表引擎允许你定义一张表,其行由你定义的脚本生成 (通过将行写入 stdout) 。 |
| File table engine | File 表引擎将数据保存在采用某种受支持文件格式 (TabSeparated、Native 等) 的文件中。 |
| Null table engine | 向 Null 表写入数据时,数据会被忽略。从 Null 表读取数据时,返回结果为空。 |
| Set table engine | 始终驻留在 RAM 中的数据集。它 предназначен for use on the right side of the IN operator. |
| Join table engine | 用于 JOIN 操作的可选预构建数据结构。 |
| URL table engine | 从远程 HTTP/HTTPS 服务器查询数据或向其写入数据。该引擎与 File 引擎类似。 |
| View table engine | 用于实现视图 (更多信息请参见 CREATE VIEW query) 。它不存储数据,只存储指定的 SELECT 查询。读取表时,会运行该查询 (并从查询中删除所有不必要的列) 。 |
| Memory table engine | Memory 引擎以未压缩形式将数据存储在 RAM 中。数据存储的形式与读取时接收到的形式完全相同。换句话说,从该表读取几乎没有任何开销。 |
| Buffer table engine | 在 RAM 中缓冲待写入的数据,并定期将其刷新到另一张表。在读取操作期间,会同时从缓冲区和另一张表中读取数据。 |
| External data for query processing | ClickHouse 允许在发送 SELECT 查询的同时,将查询处理所需的数据一并发送给服务器。这些数据会放入临时表中,并可在查询中使用 (例如在 IN 运算符中) 。 |
| GenerateRandom table engine | GenerateRandom 表引擎会根据给定的表 schema 生成随机数据。 |
| KeeperMap table engine | 此引擎允许你将 Keeper/ZooKeeper 集群用作具备线性化写入和顺序一致性读取能力的一致性键值存储。 |
| FileLog table engine | 此引擎允许将应用程序日志文件作为记录流进行处理。 |