-
介绍
ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP)
适合单条sql的查询 多表join能力较差
-
特点
列式储存
对应列的聚合,计算,求和速度优于行式储存
又于列的数据类型相同 可以使用更加高效的压缩方式
数据压缩的更好 一方面节约磁盘空间 另一方面对cache(高速缓存器)有更大 的发挥空间
吞吐量高、性能强,一致性、事务性较弱
数据易维护,当我们更新数据时,历史数据会有版本号,不会被改变或者消失。
缺点也很明显。列式存储在表关联上不方便 适合数据分析 不适合复杂业务
DBMS功能
完成了标准的SQL语法 DDL ,DML含有大量函数(不支持自定义函数) 用户管理好权限管理,含有数据备份和恢复
多样化引擎
多种引擎 适应不同的业务场景 20多种 合并树,日志 ,接口,等等
高吞吐写入
ClickHouse采用类LSM Tree的结构,数据写入后定期在后台Compaction。
ckHouse在数据导入时全部是顺序append写 compaction时也是多个段merge sort后顺序写回磁盘
官方公开benchmark测试显示能够达到50MB-200MB/s的写入吞吐能力,按照每行10