ClickHouse 是一个用于实时数据分析的基于列存储的数据库,其处理数据的速度比传统方法快 100-1000 倍。
- 性能超过了目前市场上可比的面向列的 DBMS,每秒钟每台服务器每秒处理数亿至十亿多行和数十千兆字节的数据。
主要用于数据分析(OLAP)领域。
阿里云 推出了自己的ClickHouse托管产品:https://www.aliyun.com/product/clickhouse
OLTP:
- 是传统的关系型数据库,主要操作增删改查,强调事务一致性,比如银行系统、电商系统。
OLAP:
- 是仓库型数据库,主要是读取数据,做复杂数据分析,侧重技术决策支持,提供直观简单的结果。
ClickHouse 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。
列式存储
假设一张数据表 A,里面有 50 个字段
A1 ~ A50
,如果需要查询前 5 个字段的数据的话。数据库每次都会逐行扫描、并获取每行数据的全部字段,这里就是 50 个,然后再从中返回前 5 个字段。
- 尽管只需要前 5 个字段,但由于数据是按行进行组织的,实际上还是扫描了所有的字段。
但如果数据是按列进行存储,则不会出现这样的问题,由于数据按列进行组织,数据库可以直接选择
A1 ~ A5
这 5 列的数据并返回,从而避免多余的数据扫描。按列存储相比按行存储的另一个优势是对数据压缩的友好性
SELECT A1, A2, A3, A4, A5 from A;