ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。由号称“俄罗斯 Google”的 Yandex 开发而来,在 2016 年开源,在计算引擎里算是一个后起之秀,在内存数据库领域号称是最快的。由于它有几倍于 GreenPlum 等引擎的性能优势,所以不少人都选择将其安装云服务器中使用。
ClickHouse 是一个列导向数据库,是原生的向量化执行引擎。它在大数据领域没有走 Hadoop 生态,而是采用 Local attached storage 作为存储,这样整个 IO 可能就没有 Hadoop 那一套的局限。它的系统在生产环境中可以应用到比较大的规模,因为它的线性扩展能力和可靠性保障能够原生支持 shard + replication 这种解决方案。它还提供了一些 SQL 直接接口,有比较丰富的原生 client。另外就是它比较快。
以下是ClickHouse作为分析型数据库的特点:
1. 速度快
ClickHouse性能超过了市面上大部分的列式存储数据库,相比传统的数据ClickHouse要快100-1000倍,ClickHouse还是有非常大的优势:
100Million 数据集:
ClickHouse比Vertica约快5倍,比Hive快279倍,比MySQL快801倍
1Billion 数据集:
ClickHouse比Vertica约快5倍,MySQL和Hive已经无法完成任务了
2. 功能多
ClickHouse支持数据统计分析各种场景
支持类SQL查询
支持繁多库函数(例如IP转化,URL分析等,预估计算/HyperLoglog等)
支持数组(Array)和嵌套数据结构(Nested Data Structure)
支持数据库异地复制部署
3. 文艺范
不理睬Hadoop生态,走自己的路
目前任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。
而ClickHouse的缺点:
不支持Transaction:想快就别想Transaction
聚合结果必须小于一台机器的内存大小:不是大问题
缺少完整的Update/Delete操作
支持有限操作系统