大数据实时分析领域的黑马ClickHouse中国区第一次Meetup
初识 ClickHouse还是在易观2017年下半年举办的OLAP大赛上,当时以转化漏斗的实际应用场景,在40多支国内顶尖参赛队伍中,在比赛的众多苛刻软硬件环境下,开源组第一名使用的ClickHouse以速度惊人的成绩最终摘得了此次大赛桂冠,赢得了10万奖金,ClickHouse“一战成名”,易观CTO郭炜同时发起了ClickHouse中国区用户组社区“ClickHouse User Group in China”,越来越多的对ClickHouse感兴趣的伙伴加入了该社区,社区地址: ClickHouse 中文社区 (www.clickhouse.com.cn), 但依然有很多对 ClickHouse不甚熟悉的伙伴(这也是撰写该文的重要原因),普及吸收先进技术是技术人的孜孜追求,欢迎各位小伙伴参加2018年1月27日Clickhouse中国第一次线下Meetup,本次Meetup是ClickHouse官方支持的Meetup,yandex团队现场分享。下面先对ClickHouse做个介绍,希望对大家熟悉ClickHouse有所帮助。
ClickHouse是 “战斗民族”俄罗斯搜索巨头Yandex公司开源的一个极具"战斗力"的实时数据分析数据库,是面向 OLAP 的分布式列式DBMS,圈内人戏称为“喀秋莎数据库”。ClickHouse有一个简称"CK",与Hadoop、Spark这些巨无霸组件相比,ClickHouse很轻量级,其特点:
- 列式存储数据库,数据压缩
- 关系型、支持SQL
- 分布式并行计算,把单机性能压榨到极限
- 高可用
- 数据量级在 PB级别
- 实时数据更新
- 索引
ClickHouse最大的特点就是快,快,快,重要的话说三遍。为啥这样快呢?
- 优秀的代码编写,强⼤的底层优化,严格的单元测试,内置 300多个函数
- A vector engine & Code generation
- CPU底层指令集的使⽤
- C++新特性
其实关于性能,可以参考这两篇:
CK出众的原因也跟其引擎有关,合并树 (MergeTree)系列的引擎通过主键进行字典序排列. 主键可以是列或表达式的任意 tuple。数据按照主键顺序存储数据,主键自身是稀疏的,它不定位到每一行,而是一些数据范围,当我们从MergeTree引擎中读取数据时,首先定位了可能包含请求数据的范围,要注意的合并树不是一个LSM树,因为它不包含内存表 和日志,插入的数据直接写入到文件系统,在生产环境中,写入的话主要以批量插入数据为主。在查询过程中,数据通过数组来处理(向量或者列Chunk),查询时,操作被转发到数组上,而不是在特定的值上。因此被称为”向量化查询执行”,相对于实际的数据处理成本,向量化处理具有更低的转发成本。
据悉,目前已经有新浪、 verta、percona、品友、电信等公司在使用,为了更好的传播优秀的ClickHouse技术,欢迎各位小伙伴参加2018年1月27日Clickhouse线下Meetup。活动报名链接: http://www.huodongxing.com/event/5418742362800 , Meetup地点在中关村创业大街,海置创投大厦7层创业邦DemoSpace,具体更新请大家关注 ClickHouse 中文社区。
- 官方Benchmark
- Mark Litwintschik 的压测文章