透过ClickHouse学习列式存储数据库

💡 原文中文,约7200字,阅读约需18分钟。
📝

内容提要

ClickHouse是一个开源的列式数据库管理系统,适用于在线分析处理查询。它支持多种数据存储引擎,适用于数据分析、数据挖掘和日志分析等场景。但不支持事务和关系数据的修改。ClickHouse的数据存储和索引采用稀疏索引和压缩存储方式,联合主键查询可以使用二分查找法进行快速索引。删除和更新操作是异步执行的,可能存在一致性问题。

🎯

关键要点

  • 列式存储数据库与行式存储数据库的区别在于数据存储方式,列式存储适合按列查询。
  • ClickHouse是一个开源的列式数据库管理系统,专为在线分析处理查询设计。
  • ClickHouse在批量查询分析上具有显著优势,响应速度比其他数据库快。
  • ClickHouse支持多种数据存储引擎,适合数据分析、数据挖掘和日志分析。
  • ClickHouse不支持事务,数据修改效率低,主要用于实时数据分析。
  • ClickHouse的数据存储采用稀疏索引和压缩存储,联合主键查询可使用二分查找法。
  • 删除和更新操作是异步执行的,可能导致一致性问题。
  • ClickHouse的主键索引通过稀疏索引构建,记录granule的开始位置以减少存储空间。
  • ClickHouse的删除操作是轻量级的,数据不会立即从磁盘中清理。
  • 更新操作只能修改非主键列,且是异步执行,可能导致用户看到旧数据和新数据。
➡️

继续阅读