对比ClickHouse中的TinyLog表引擎和LogBlock表引擎,在存储和查询效率方面的差异

2023-10-19 09:18:29 浏览数 (3)

建议先关注、点赞、收藏后再阅读。

TinyLog表引擎

LogBlock表引擎

存储方式

将每个数据块以不同的时间戳追加到日志文件中

将数据写入到稠密的块中,每个块可以包含多个数据值

存储效率

存储效率高,适用于高写入负载的场景

存储效率较低,适用于高读取负载的场景

查询效率

查询效率较低,每次查询需要扫描整个日志文件

查询效率高,在块级别上进行查询

写入效率

写入效率高,数据直接追加到日志文件末尾

写入效率较低,需要定期合并块以优化性能

内存占用

内存占用较低,数据以追加方式写入到日志文件中

内存占用较高,由于使用了块的方式,需要更多的内存空间

压缩率

压缩率较低,数据以原始形式存储在日志文件中

压缩率较高,每个块中的数据可以进行压缩

数据可用性

数据可用性较低,如果日志文件损坏则数据可能丢失

数据可用性较高,由于使用了块的形式存储,数据损坏的概率较低

从存储方式来看,TinyLog表引擎将每个数据块以不同的时间戳追加到日志文件中,而LogBlock表引擎将数据写入到稠密的块中,每个块可以包含多个数据值。

在存储效率方面,TinyLog表引擎具有较高的存储效率,适用于高写入负载的场景。LogBlock表引擎的存储效率较低,适用于高读取负载的场景。

在查询效率方面,TinyLog表引擎的查询效率较低,每次查询需要扫描整个日志文件。LogBlock表引擎的查询效率较高,在块级别上进行查询。

在写入效率方面,TinyLog表引擎具有较高的写入效率,数据直接追加到日志文件末尾。LogBlock表引擎的写入效率较低,需要定期合并块以优化性能。

在内存占用方面,TinyLog表引擎的内存占用较低,数据以追加方式写入到日志文件中。LogBlock表引擎的内存占用较高,由于使用了块的方式,需要更多的内存空间。

在压缩率方面,TinyLog表引擎的压缩率较低,数据以原始形式存储在日志文件中。LogBlock表引擎的压缩率较高,每个块中的数据可以进行压缩。

在数据可用性方面,TinyLog表引擎的数据可用性较低,如果日志文件损坏则数据可能丢失。LogBlock表引擎的数据可用性较高,由于使用了块的形式存储,数据损坏的概率较低。

0 人点赞