文档:https://clickhouse.tech/docs/zh/
什么是ClickHouse
ClickHouse是俄罗斯的Yandex(类似于国内百度一样的定位)于2016年开源的列式存储数据库(DBMS),主要用于OLAP查询(OLAP引擎会专门说一说),能够实时生成分析数据报告。
什么是列式存储
我们平常使用的关系型数据库都是行式存储:
row | name | sex |
---|---|---|
1 | 张三 | 男 |
2 | 小红 | 女 |
3 | 李四 | 男 |
行式存储中一行为一个单位,在磁盘上的组织结构为:1,张三,男;2,小红,女;3,李四,男。以一行为一个单位,如果现在有需求,查询表中有多少男性,那么就要读取表中所有的行,去每一行中找sex字段对应的值。这就相当于遍历了整张表,很慢。
列式存储就是以一列为一个单元:
row | 1 | 2 | 3 |
---|---|---|---|
name | 张三 | 小红 | 李四 |
sex | 男 | 女 | 男 |
他组织结构是:1,2,3;张三,小红,李四;男,女,男。想要查询表中有多少男性,只需要读取sex这一列就ok了。
特点:ClickHouse对于单表查询来说,性能很足,但是对于多表联查就没有太大亮点。