比 Hive 快 500 倍!大数据实时分析领域的黑马
开源技术早已成为整个软件行业的基石和创新来源。开源技术的普惠性,有效降低了技术落地的门槛。ClickHouse 正是一款在大数据实时分析领域为大数据 OLAP 而生的优秀开源软件。
由于 ClickHouse 具有卓越的分析性能、极好的线性伸展和扩容性以及丰富的功能等,近些年,越来越多的企业开始将它作为实时分析引擎来使用。无论是在大数据领域还是在 DevOps 领域,只要涉及在线分析场景,ClickHouse 都能通过它那极致的性能占有一席之地。
ClickHouse 虽然年轻,但自开源以来,其社区一直保持着很高的活跃度,开发者与用户遍布全球各地。ClickHouse 是目前世界公认的 OLAP 数据库黑马,相信未来它会是大数据实时分析领域的主流选择。
ClickHouse 背后的研发团队是来自俄罗斯的 Yandex 公司。这是一家俄罗斯本土的互联网企业,于2011年在纳斯达克上市,它的核心产品是搜索引擎。根据最新的数据显示,Yandex 占据了本国47%以上的搜索市场,是现今世界上最大的俄语搜索引擎。Google 是它的直接竞争对手。
众所周知,在线搜索引擎的营收来源非常依赖流量和在线广告业务。所以,通常搜索引擎公司为了更好地帮助自身及用户分析网络流量,都会推出自家的在线流量分析产品,例如 Google 的Google Analytics、百度的百度统计。Yandex也不例外,rica就是这样一款用于在线流量分析的产品()。
ClickHouse 就是在这样的产品背景下诞生的,伴随着 Yandex.Metrica 业务的发展,其底层架构历经四个阶段,一步一步最终形成了大家现在所看到的ClickHouse。纵观这四个阶段的发展,俨然是数据分析产品形态以及 OLAP 架构历史演进的缩影。通过了解这段演进过程,我们能够更透彻地了解 OLAP 面对的挑战,以及 ClickHouse 能够解决的问题。
ClickHouse 的初始设计目标是服务自己公司的一款名叫 Yandex.Metrica 的产品。Metrica 是一款 Web 流量分析工具,基于前方探针采集行为数据,然后进行一系列的数据分析,类似数据仓库的 OLAP 分析。而在采集数据的过程中,一次页面 click(点击),会产生一个 event(事件)。至此,整个系统的逻辑就十分清晰了,那就是基于页面的点击事件流,面向数据仓库进行 OLAP 分析。所以 ClickHouse 的全称是 Click Stream,Data WareHouse,简称ClickHouse,如图1所示。
因为 ClickHouse 在诞生之初是为了服务 Yandex 自家的 Web 流量分析产品Yandex.Metrica,所以在存储数据超过20万亿行的情况下,ClickHouse 做到了90%的查询都能够在1秒内返回的惊人之举。随后,ClickHouse 进一步被应用到 Yandex 内部大大小小数十个其他的分析场景中。可以说 ClickHouse 具备了人们对一款高性能 OLAP 数据库的美好向往,所以它基本能够胜任各种数据分析类的场景,并且随着数据体量的增大,它的优势也会变得越为明显。
ClickHouse 非常适用于商业智能领域(也就是我们所说的 BI 领域),除此之外,它也能够被广泛应用于广告流量、Web、App流量、电信、金融、电子商务、信息安全、网络游戏、物联网等众多其他领域。
ClickHouse 作为一款高性能 OLAP 数据库,虽然足够优秀,但也不是万能的。我们不应该把它用于任何 OLTP 事务性操作的场景,因为它有以下几点不足。
不擅长根据主键按行粒度进行查询(虽然支持),故不应该把 ClickHouse当作Key-Value数据库使用。
这些弱点并不能视为 ClickHouse 的缺点,事实上其他同类高性能的 OLAP 数据库同样也不擅长上述的这些方面。因为对于一款 OLAP 数据库而言,上述这些能力并不是重点,只能说这是为了极致查询性能所做的权衡。
除了 Yandex 自己以外,ClickHouse 还被众多商业公司或研究组织成功地运用到了它们的生产环境。欧洲核子研究中心(CERN)将它用于保存强对撞机试验后记录下的数十亿事件的测量数据,并成功将先前查找数据的时间由几个小时缩短到几秒。著名的 CDN 服务厂商 CloudFlare 将 ClickHouse 用于 HTTP 的流量分析。国内的头条、阿里、腾讯和新浪等一众互联网公司对 ClickHouse 也都有涉猎。
由于 ClickHouse 具有卓越的分析性能、极好的线性伸展和扩容性以及丰富的功能等,近些年,越来越多的企业开始将它作为实时分析引擎来使用。无论是在大数据领域还是在 DevOps 领域,只要涉及在线分析场景,ClickHouse 都能通过它那极致的性能占有一席之地。国内第一本全方位介绍关于 ClickHouse 的专业技术书《ClickHouse原理解析与应用实战》,这本书从用户视角出发,剖析了 ClickHouse 的内部运行原理,并且对其功能特性进行了详细讲解。对于想了解 ClickHouse 的开发者和用户来说,这将会是一本很不错的学习指导书。
本文摘编于《ClickHouse原理解析与应用实战》,经出版方授权发布。
ClickHouse贡献者之一,ClickHouse布道者,资深架构师,腾讯云最具价值专家TVP,开源爱好者, 十多年IT从业经验,对大数据领域主流技术与解决方案有深入研究,擅长分布式系统的架构设计与整合。曾主导过多款大数据平台级产品的规划、设计与研发工作,一线实战经验丰富。现就职于远光软件股份有限公司,任大数据事业部平台开发部总经理。