什么是列式数据库?
·2 分钟阅读
列式数据库独立存储每列的数据。这允许仅从磁盘读取给定查询中使用的那些列的数据。
简介
列式数据库独立存储每列的数据。这允许仅从磁盘读取给定查询中使用的那些列的数据。 缺点是,影响整行的操作会变得相对更加昂贵。 列式数据库是面向列的数据库管理系统的同义词。 ClickHouse 是这种系统的典型示例。
列式数据库的优势
列式数据库的主要优势是
- 查询仅使用多列中的少数列。
- 针对大量数据进行聚合查询。
- 按列数据压缩。
面向行的数据库与面向列的数据库
以下是构建报告时传统面向行的系统和列式数据库之间差异的图示
传统面向行
列式
列式数据库是分析应用程序的首选,因为它允许在表中拥有许多列以备不时之需,但不会为读取查询执行时间时未使用的列付出代价(传统的 OLTP 数据库在查询期间读取所有数据,因为数据存储在行而不是列中)。 面向列的数据库专为大数据处理和数据仓库而设计。 它们通常使用低成本硬件的分布式集群进行原生扩展,以提高吞吐量。 ClickHouse 通过结合 分布式 和 复制 表来实现这一点。