一. 概述
随着物联网IOT时代的来临,IOT设备感知和报警存储的数据越来越大,有用的价值数据需要数据分析师去分析。大数据分析成了非常重要的环节。当然近两年开启的开源大潮,为大数据分析工程师提供了十分富余的工具。但这同时也增加了开发者选择合适的工具的难度,尤其对于新入行的开发者来说。学习成本,框架的多样化和复杂度成了很大的难题。例如kafka,hdfs,spark,hive 等等组合才能产生最后的分析结果。把各种开源框架、工具、库、平台人工整合到一起所需工作之复杂,是大数据领域开发和数据分析师常有的抱怨之一,也是他们支持大数据分析平台简单化和统一化的首要原因。
二.Clickhouse 发展历史
Yandex在2016年6月15日开源了一个数据分析的数据库,名字叫做ClickHouse,这对保守俄罗斯人来说是个特大事。更让人惊讶的是,这个列式存储数据库的跑分要超过很多流行的商业MPP数据库软件,例如Vertica。如果你没有听过Vertica,那你一定听过 Michael Stonebraker,2014年图灵奖的获得者,PostgreSQL和Ingres发明者(Sybase和SQL Server都是继承 Ingres而来的), Paradigm4和SciDB的创办者。Michael Stonebraker于2005年创办Vertica公司,后来该公司被HP收购,HP Vertica成为MPP列式存储商业数据库的高性能代表,Facebook就购买了Vertica数据用于用户行为分析。
三.Clickhouse 支持特性剖析
在看Clickhouse 运行场景之前要了解技术的功能特性以及弊端是一个技术架构以及开发人员所要了解的。只有”知己知彼”才可以”百战不殆”,接下来我们看一下Clickhouse的具体特点;
Ø 1.真正的面向列的DBMS
Ø 2.数据高效压缩
Ø 3.磁盘存储的数据
Ø 4.多核并行处理
Ø 5.在多个服务器上分布式处理
Ø 6.SQL语法支持
Ø 7.向量化引擎
Ø 8.实时数据更新
Ø 9.索引
Ø 10.适合在线查询
Ø 11.支持近似预估计算
Ø 12.支持嵌套的数据结构
Ø 支持数组作为数据类型
Ø 13.支持限制查询复杂性以及配额
Ø 14.复制数据复制和对数据完整性的支持
我们来看看其中的一些功能:
1.真正的面向列的DBMS
在一个真正的面向列的DBMS中,没有任何“垃圾”存储在值中。例如,