作者 | 朱凯

开源技术早已成为整个软件行业的基石和创新来源。开源技术的普惠性,有效降低了技术落地的门槛。ClickHouse 正是一款在大数据实时分析领域为大数据 OLAP 而生的优秀开源软件。

由于 ClickHouse 具有卓越的分析性能、极好的线性伸展和扩容性以及丰富的功能等,近些年,越来越多的企业开始将它作为实时分析引擎来使用。无论是在大数据领域还是在 DevOps 领域,只要涉及在线分析场景,ClickHouse 都能通过它那极致的性能占有一席之地。

ClickHouse 虽然年轻,但自开源以来,其社区一直保持着很高的活跃度,开发者与用户遍布全球各地。ClickHouse 是目前世界公认的 OLAP 数据库黑马,相信未来它会是大数据实时分析领域的主流选择。

ClickHouse的发展历程

ClickHouse 背后的研发团队是来自俄罗斯的 Yandex 公司。这是一家俄罗斯本土的互联网企业,于2011年在纳斯达克上市,它的核心产品是搜索引擎。根据最新的数据显示,Yandex 占据了本国47%以上的搜索市场,是现今世界上最大的俄语搜索引擎。Google 是它的直接竞争对手。

众所周知,在线搜索引擎的营收来源非常依赖流量和在线广告业务。所以,通常搜索引擎公司为了更好地帮助自身及用户分析网络流量,都会推出自家的在线流量分析产品,例如 Google 的Google Analytics、百度的百度统计。Yandex也不例外,Yandex.Metrica就是这样一款用于在线流量分析的产品(https://metrica.yandex.com)。

ClickHouse 就是在这样的产品背景下诞生的,伴随着 Yandex.Metrica 业务的发展,其底层架构历经四个阶段,一步一步最终形成了大家现在所看到的ClickHouse。纵观这四个阶段的发展,俨然是数据分析产品形态以及 OLAP 架构历史演进的缩影。通过了解这段演进过程,我们能够更透彻地了解 OLAP 面对的挑战,以及 ClickHouse 能够解决的问题。

ClickHouse的名称含义

ClickHouse 的初始设计目标是服务自己公司的一款名叫 Yandex.Metrica 的产品。Metrica 是一款 Web 流量分析工具,基于前方探针采集行为数据,然后进行一系列的数据分析,类似数据仓库的 OLAP 分析。而在采集数据的过程中,一次页面 click(点击),会产生一个 event(事件)。至此,整个系统的逻辑就十分清晰了,那就是基于页面的点击事件流,面向数据仓库进行 OLAP 分析。所以 ClickHouse 的全称是 Click Stream,Data WareHouse,简称ClickHouse,如图1所示。

图1 ClickHouse 名称缩写的含义

ClickHouse适用的场景

因为 ClickHouse 在诞生之初是为了服务 Yandex 自家的 Web 流量分析产品Yandex.Metrica,所以在存储数据超过20万亿行的情况下,ClickHouse 做到了90%的查询都能够在1秒内返回的惊人之举。随后,ClickHouse 进一步被应用到 Yandex 内部大大小小数十个其他的分析场景中。可以说 ClickHouse 具备了人们对一款高性能 OLAP 数据库的美好向往,所以它基本能够胜任各种数据分析类的场景,并且随着数据体量的增大,它的优势也会变得越为明显。

ClickHouse 非常适用于商业智能领域(也就是我们所说的 BI 领域),除此之外,它也能够被广泛应用于广告流量、Web、App流量、电信、金融、电子商务、信息安全、网络游戏、物联网等众多其他领域。

ClickHouse的缺陷

ClickHouse 作为一款高性能 OLAP 数据库,虽然足够优秀,但也不是万能的。我们不应该把它用于任何 OLTP 事务性操作的场景,因为它有以下几点不足。

  • 不支持事务。

  • 不擅长根据主键按行粒度进行查询(虽然支持),故不应该把 ClickHouse当作Key-Value数据库使用。

  • 不擅长按行删除数据(虽然支持)。

这些弱点并不能视为 ClickHouse 的缺点,事实上其他同类高性能的 OLAP 数据库同样也不擅长上述的这些方面。因为对于一款 OLAP 数据库而言,上述这些能力并不是重点,只能说这是为了极致查询性能所做的权衡。

有谁在使用ClickHouse

除了 Yandex 自己以外,ClickHouse 还被众多商业公司或研究组织成功地运用到了它们的生产环境。欧洲核子研究中心(CERN)将它用于保存强对撞机试验后记录下的数十亿事件的测量数据,并成功将先前查找数据的时间由几个小时缩短到几秒。著名的 CDN 服务厂商 CloudFlare 将 ClickHouse 用于 HTTP 的流量分析。国内的头条、阿里、腾讯和新浪等一众互联网公司对 ClickHouse 也都有涉猎。

由于 ClickHouse 具有卓越的分析性能、极好的线性伸展和扩容性以及丰富的功能等,近些年,越来越多的企业开始将它作为实时分析引擎来使用。无论是在大数据领域还是在 DevOps 领域,只要涉及在线分析场景,ClickHouse 都能通过它那极致的性能占有一席之地。国内第一本全方位介绍关于 ClickHouse 的专业技术书《ClickHouse原理解析与应用实战》,这本书从用户视角出发,剖析了 ClickHouse 的内部运行原理,并且对其功能特性进行了详细讲解。对于想了解 ClickHouse 的开发者和用户来说,这将会是一本很不错的学习指导书。

本文摘编于《ClickHouse原理解析与应用实战》,经出版方授权发布。

#欢迎来留言#

你用过ClickHouse?

你对 OLAP 数据库怎么看?

留言点赞数量最多的前三名

CSDN携手【机械工业出版社】送出

《ClickHouse原理解析与应用实战》一本

截至7月2日18:00点

关于作者:

ClickHouse贡献者之一,ClickHouse布道者,资深架构师,腾讯云最具价值专家TVP,开源爱好者, 十多年IT从业经验,对大数据领域主流技术与解决方案有深入研究,擅长分布式系统的架构设计与整合。曾主导过多款大数据平台级产品的规划、设计与研发工作,一线实战经验丰富。现就职于远光软件股份有限公司,任大数据事业部平台开发部总经理。

更多精彩推荐
☞好莱坞科幻新片《b》,钦定 AI 机器人出演女主角!
☞外交部回应印度封杀中国APP;老干妈称从未与腾讯有过合作;Linux Mint 20 发布 | 极客头条
☞厉害!国内大学生计算机编程第一人,一人挑战一个队,百度最年轻 T10,现创业自动驾驶
☞牛!Python 也能实现图像姿态识别溺水行为了!
☞浅谈分布式存储中的网络通信
☞Balancer因通缩代币STA遭遇闪电贷攻击,价值50万美元资产被黑
你点的每个“在看”,我都认真当成了喜欢

比 Hive 快 500 倍!大数据实时分析领域的黑马相关推荐

  1. clickhouse大数据分析技术与实战_比Hive快500倍!大数据实时分析领域的黑马

    戳蓝字"小强的进阶之路"关注我们哦! 大数据实时分析领域的黑马是ClickHouse一个用于联机分析(OLAP)的列式数据库管理系统(DBMS). clickhouse背景 俄罗斯 ...

  2. 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)...

    不多说,直接上干货! 这个很简单,在集群机器里,选择就是了,本来自带就有Impala的. 扩展博客 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解) 欢迎大 ...

  3. 拥有一亿会员的爱奇艺如何搭建大数据实时分析平台

    生活在信息爆炸时代的我们越来越清晰的认识到海量信息与数据分析的重要性,如提高数据挖掘能力.为运营决策提供关键数据.通过数据分析助力业务创新.在商业决策中的提供较有价值的信息等成为关键,于是大数据分析平 ...

  4. RedisJson 是什么?比ES快 500 倍?

    -     概述    - 近期官网给出了RedisJson(RedisSearch)的性能测试报告,可谓碾压其他NoSQL,下面是核心的报告内容,先上结论: 对于隔离写入(isolated writ ...

  5. 爱奇艺大数据实时分析平台的建设与实践

    0 导语 生活在信息爆炸时代的我们越来越清晰的认识到海量信息与数据分析的重要性,如提高数据挖掘能力.为运营决策提供关键数据.通过数据分析助力业务创新.在商业决策中的提供较有价值的信息等成为关键,于是大 ...

  6. 如何设计一个大数据实时分析平台

    大数据实时分析平台(以下简称PB-S),旨在提供数据端到端实时处理能力(毫秒级/秒级/分钟级延迟),可以对接多数据源进行实时数据抽取,可以为多数据应用场景提供实时数据消费.作为现代数仓的一部分,PB- ...

  7. 大数据实时分析平台应用在哪些场景

    大数据平台主要是解决对海量多样化的数据源进行数据采集.数据存储,数据分析和数据处理,并提供满足日渐增长的扩展性要求.大数据平台的应用场景,大致可分为如下几个: 场景一:舆情分析 有的客户需要做舆情分析 ...

  8. 上市公司“掘金”大数据 多领域大数据应用受热捧

    <关于促进大数据发展的行动纲要>(简称"<纲要>")有着"大数据国家战略"之称,其下发点燃了上市公司掘金大数据产业的热情.据上证报记者最 ...

  9. 干货 | 大数据人工智能领域从菜鸟到高手晋级指南

    作者 | 王明哲.王存光 校对 | 丁楠雅 本文长度为5600字,建议阅读10分钟 本文为你剖析当下的时代背景,为在大数据江湖中修炼的行者提供升级建议. 我们身处一个"技术爆炸"和 ...

最新文章

  1. 附庸风雅(2006-10-20 13:39:32)(新浪)
  2. 计算机无法找到实达打印机,实达打印机使用方法教程
  3. PHP实现加密的几种方式介绍
  4. 02331数据结构 散列表
  5. aspose条件格式无法读取_分析 Pandas 源码,解决读取 Excel 报错问题
  6. 原生JS与Jquery删除iframe并释放内存(IE)
  7. 问题九:C++中::是干嘛用的(域解析操作符)
  8. 集群起不来oracle,Oracle11g rac 集群无法启动分析及处理
  9. innodb下的mvcc_Mysql事务隔离以及MVCC实现原理
  10. 友情链接监控软件报表
  11. mysql异常-SQLSTATE[HY000]: General error: 1436 Thread stack overrun
  12. 《Linux设备驱动开发详解 A》一一3.1 Linux内核的发展与演变
  13. 整理arm的一些概念(ARM7、ARM9、ARM11、Cortex-A、Cortex-R、Cortex-M的区别)
  14. 长整数转化成16进制字符串
  15. 电脑不小心删除文件如何找回?你还不知道这3个小技巧?
  16. Android -- 创建数据库到SD卡
  17. 最佳 Maya 免费建模插件!
  18. 三点求圆心坐标(三角形外心)
  19. 木头姐减持,机构却看好,京东大涨后的前景落脚何处?
  20. 大话设计模式(五)观察者模式

热门文章

  1. 算法提高 身份证号码升级
  2. golang学习和使用经验总结
  3. 文档比较比对工具Beyond Compare
  4. [poj 2796]单调栈
  5. uva1025 动态规划
  6. 试试既然没人玩,没得试验了
  7. Windows平台JDK安装
  8. 在Windows 10中使用TortoiseGit进程gitlab仓库的管理
  9. 连续特征离散化--汇总
  10. 《Linux编程》上机作业 ·005【进程管理与通信】