跳转到主要内容
列式数据库会将每一列的数据独立存储。这样一来,在任何一次查询中,只需从磁盘读取用到的那些列的数据。相应的代价是,涉及整行的操作成本会更高。列式数据库也称为面向列的数据库管理系统。ClickHouse 就是这类系统的典型示例。 列式数据库的主要优势包括:
  • 在包含很多列的表中,查询往往只需使用其中少数几列。
  • 针对海量数据的聚合查询。
  • 按列进行数据压缩。
下面展示了在生成报表时,传统面向行系统与列式数据库之间的区别: 传统面向行 列式 对于分析型应用而言,列式数据库通常是更优的选择,因为它允许你在表中预留很多列以备不时之需,同时在执行读取查询时,无需为未使用的列付出额外成本 (而传统 OLTP 数据库在查询时会读取全部数据,因为数据是按行而非按列存储的) 。面向列的数据库专为大数据处理和数据仓库场景而设计,通常可以借助由低成本硬件构成的分布式集群实现原生扩展,从而提升吞吐量。ClickHouse 通过结合 DistributedReplicated 表来实现这一点。 如果你想深入了解列式数据库的发展历史、它与面向行数据库的区别,以及列式数据库的使用场景,请参阅 列式数据库指南
最后修改于 2026年6月10日