概述
Yandex开源的数据分析的数据库,名字叫做ClickHouse,适合流式或批次入库的时序数据。
ClickHouse不应该被用作通用数据库,而是作为超高性能的海量数据快速查询的分布式实时处理平台,在数据汇总查询方面(如GROUP BY),ClickHouse的查询速度非常快。
使用C++开发的
大宽表,数据分析聚合方面,性能优异
ClickHouse® is a fast open-source OLAP database management system
It is column-oriented and allows to generate analytical reports using SQL queries in real-time.
- Blazing fast:速度快
- Linearly scalable:线性可伸缩
- Feature-rich:功能丰富
- Hardware efficient:高效
- Fault-tolerant:容错
- Highly reliable:高可靠
Clickhouse 支持特性
- 真正的面向列的DBMS
在一个真正的面向列的DBMS中,没有任何“垃圾”存储在值中。例如,必须支持定长数值,以避免在数值旁边存储长度“数字”。 - 数据高效压缩
- 磁盘存储的数据
- 多核并行处理
多核多节点并行化大型查询。 - 在多个服务器上分布式处理
在ClickHouse中,数据可以驻留在不同的分片上。每个分片可以是用于容错的一组副本。查询在所有分片上并行处理。这对用户来说是透明的。 - SQL支持
- 向量化引擎
数据不仅按列存储,而且由矢量 - 列的部分进行处理。这使我们能够实现高CPU性能。 - 实时数据更新
ClickHouse支持主键表。为了快速执行对主键范围的查询,数据使用合并树(MergeTree)进行递增排序。由于这个原因,数据可以不断地添加到表中。添加数据时无锁处理。 - 索引
- 支持在线查询
这让我们使用该系统作为Web界面的后端。低延迟意味着可以无延迟实时地处理查询,而Yandex.Metrica界面页面正在加载(在线模式)。 - 支持近似计算
- 支持嵌套的数据结构
支持数组作为数据类型 - 支持限制查询复杂性以及配额
- 数据复制和对数据完整性的支持
使用异步多主复制。写入任何可用的副本后,数据将分发到所有剩余的副本。系统在不同的副本上保持相同的数据。数据在失败后自动恢复
ClickHouse的缺点
- 不支持事物。
- 不支持Update/Delete操作。
- 支持有限操作系统。
现在支持ubuntu,centos 需要自己编译,不过有热心人已经编译好了,拿来用就行。对于Windows 不支持。
网友评论