第1章 ClickHouse的前世今生
Google于2003~2006年相继发表了三篇论文“Google File System”“Google MapReduce”和“Google Bigtable”,将大数据的处理技术带进了大众视野。2006年开源项目Hadoop的出现,标志着大数据技术普及的开始,大数据技术真正开始走向普罗大众。长期以来受限于数据库处理能力而苦不堪言的各路豪杰们,仿佛发现了新大陆,于是一轮波澜壮阔的技术革新浪潮席卷而来。Hadoop最初指代的是分布式文件系统HDFS和MapReduce计算框架,但是它一路高歌猛进,在此基础之上像搭积木一般快速发展成为一个庞大的生态(包括Yarn、Hive、HBase、Spark等数十种之多)。在大量数据分析场景的解决方案中,传统关系型数据库很快就被Hadoop生态所取代,我所处的BI领域就是其中之一。传统关系型数据库所构建的数据仓库,被以Hive为代表的大数据技术所取代,数据查询分析的手段也层出不穷,Spark、Impala、Kylin等百花齐放。Hadoop发展至今,早已上升成为大数据的代名词,仿佛一提到海量数据分析场景下的技术选型,就非Hadoop生态莫属。
然而世间并没有银弹(万全之策), Hadoop也跳不出这个规则。虽然Hadoop生态化的属性带来了诸多便利性,例如分布式文件系统HDFS可以直接作为其他组件的底层存储(例如HBase、Hive等),生态内部的组件之间不用重复造轮子,只需相互借力、组合就能形成新的方案。但生态化的另一面则可以看作臃肿和复杂。Hadoop生态下的每种组件都自成一体、相互独立,这种强强组合的技术组件有些时候显得过于笨重了。与此同时,随着现代化终端系统对实效性的要求越来越高,Hadoop在海量数据和高时效性的双重压力下,也显得有些力不从心了。
一次机缘巧合,在研究BI产品技术选型的时候,我接触到了ClickHouse,瞬间就被其惊人的性能所折服。这款非Hadoop生态、简单、自成一体的技术组件引起了我极大的好奇。那么ClickHouse究竟是什么呢?下面就让我们一探究竟,聊一聊ClickHouse的前世今生。