前言
“麒麟出没,必有祥瑞。”
——中国古谚语
“于我而言,与Apache Kylin团队一起合作使Kylin通过孵化成为顶级项目是非常激动人心的,诚然,Kylin在技术方面非常振奋人心,但同样令人兴奋的是Kylin代表了亚洲国家,特别是中国,在开源社区中越来越高的参与度。”
——Ted Dunning Apache孵化项目副总裁,MapR首席应用架构师
今天,随着移动互联网、物联网、AI等技术的快速兴起,数据成为了所有这些技术背后最重要,也是最有价值的“资产”。如何从数据中获得有价值的信息?这个问题驱动了相关技术的发展,从最初的基于文件的检索、分析程序,到数据仓库理念的诞生,再到基于数据库的商业智能分析。而现在,这一问题已经变成了如何从海量的超大规模数据中快速获取有价值的信息,新的时代、新的挑战、新的技术必然应运而生。
在数据分析领域,大部分的技术都诞生在国外,特别是美国,从最初的数据库,到以Hadoop为首的大数据技术,再到今天各种DL(Deep Learning)、AI,等等。但我国拥有着世界上独一无二的“大”数据,最多的人口、最多的移动设备、最活跃的应用市场、最复杂的网络环境等,应对这些挑战,我们需要有自己的核心技术,特别是在基础领域的突破和研发方面。今天,以Apache Kylin为首的各种来自中国的先进技术不断涌现,甚至在很多方面都大大超越了国外的其他技术,这一点也彰显了中国的技术实力。
自Hadoop选取大象伊始,上百个项目,以动物居之者为多,而其中唯有Apache Kylin(麒麟)来自中国,在众多项目中分外突出。在全球最大的开源基金会——Apache软件基金会(Apache Software Foundation, ASF)的160多个顶级项目中,Apache Kylin是唯一一个来自中国的顶级开源项目,与Apache Hadoop、Apache Spark、Apache Kafka、Apache Tomcat、Apache Struts、Apache Maven等顶级项目一起以The Apache Way构建了开源大数据领域的国际社区,并拓展了生态系统。
大数据与传统技术最大的区别就在于数据的体量对查询带来的巨大挑战。从最早使用大数据技术来做批量处理,到现在越来越多地需要大数据平台也能够如传统数据仓库技术一样支持交互式分析。随着数据量的不断膨胀,数据平民化的不断推进,低延迟、高并发地在Hadoop之上提供标准SQL查询的能力成为必须要攻破的技术难题。而Apache Kylin的诞生正是基于这个背景,并成功地完成了很多人认为不可能实现的突破。Apache Kylin最初诞生于eBay中国研发中心(坐落于上海浦东新区的德国中心),在2013年9月底,eBay中国研发中心的技术人员开始对此进行POC并组建团队,经过一年的艰苦开发和测试,于2014年9月30日使其正式上线,并在第二天(2014年10月1日)正式开源。
在这个过程中,使用何种技术,如何进行架构,如何突破那些看似无法完成的挑战,整个开发团队和用户一起经历了一段艰难的历程。今天呈现出的Apache Kylin已经经历了上千亿乃至上万亿规模数据量的分析请求,以及上百家公司的实际生产环境的检验,成为各个公司大数据分析平台不可替代的重要部分。本书将从Apache Kylin的架构和设计、各个模块的使用、与第三方的整合、二次开发及开源实践等方面进行讲解,为各位读者呈现最核心的设计理念和哲学、算法和技术等。
Apache Kylin社区的发展不易,自2014年10月开源到今天已有两年,从最初的几个人发展到今天的几十个贡献者,国内外上百家公司在正式使用,连续两年获得InfoWorld Bossie Awards最佳开源大数据工具奖。来自核心团队、贡献者、用户、导师、基金会等的帮助和无私的奉献铸就了这个活跃的社区,也使得Apache Kylin得以在越来越多的场景下发挥作用。现在,由Apache Kylin核心团队撰写了本书,相信能更好地将相关的理论、设计、技术、架构等展现给各位朋友,希望能够让更多的朋友更加充分地理解Kylin的优点和使用的场景,更多地挖掘出Kylin的潜力。同时也希望本书能够鼓励并吸引更多的人参与Kylin项目和开源项目,影响更多人贡献更多的项目和技术到开源世界来。
韩卿
Apache Kylin联合创建者及项目委员会主席
2016年10月