跳到主要内容
跳到主要内容

TinyLog

该引擎属于日志引擎系列。有关日志引擎的公共属性及其差异,请参见 Log Engine Family

该表引擎通常用于一次写入方法:一次写入数据,然后根据需要读取多次。例如,您可以使用 TinyLog 类型的表来处理小批量的中间数据。请注意,在大量小表中存储数据效率较低。

查询在单一流中执行。换句话说,该引擎旨在处理相对较小的表(最多约 1,000,000 行)。如果您有许多小表,使用此表引擎是有意义的,因为它比 Log 引擎更简单(需要打开的文件更少)。

Characteristics

  • 简单结构:与 Log 引擎不同,TinyLog 不使用标记文件。这减少了复杂性,但也限制了对大数据集的性能优化。
  • 单流查询:对 TinyLog 表的查询在单一流中执行,使其适合处理相对较小的表,通常最多 1,000,000 行。
  • 适合小表:TinyLog 引擎的简单性使其在管理许多小表时具有优势,因为与 Log 引擎相比,它需要更少的文件操作。

与 Log 引擎不同,TinyLog 不使用标记文件。这减少了复杂性,但也限制了对更大数据集的性能优化。

Creating a Table

有关 CREATE TABLE 查询的详细描述,请参见。

Writing the Data

TinyLog 引擎将所有列存储在一个文件中。对于每个 INSERT 查询,ClickHouse 将数据块附加到表文件的末尾,逐列写入数据。

对于每个表,ClickHouse 写入以下文件:

  • <column>.bin:每列的数据文件,包含序列化和压缩的数据。

TinyLog 引擎不支持 ALTER UPDATEALTER DELETE 操作。

Example of Use

创建表:

插入数据:

我们使用了两个 INSERT 查询在 <column>.bin 文件中创建了两个数据块。

ClickHouse 使用单一流选择数据。结果,输出中行块的顺序与输入中相同块的顺序一致。例如: