推荐序二
我是一个开源软件的爱好者,算是开源届的一名老兵。从1995年到美国留学起,就开始接触开源软件,当时的GNU、Linux、FreeBSD和Emacs等自由软件让刚出国门的我感到惊艳万分。从那时开始,我就再没有和自由软件、开源软件分开过:从读博士期间一直参与研发自由软件XSB、因个人爱好参与贡献GNU Emacs、在IBM工作期间基于一系列开源软件为团队开发DocBook文档写作工具链,到后来在LinkedIn工作期间研究作为5个核心成员开源的分布式实时搜索系统SenseiDB,再到近几年在小米大力推动开源战略,打造基于开源软件的小米云计算、大数据和机器学习技术及团队。20多年来,对开源软件的热爱,让我逐渐从一名早期的自由软件爱好者、信仰者、贡献者和管理者,变成了一名坚定的开源软件倡导者。在这期间,我见证了开源技术的萌芽、兴起和今天的繁荣,也经历了国内外不同文化下的开源发展历程。
作为一名参与开源软件较早的中国人,我也深深地感受到了最初西方世界对中国人使用开源技术、参与开源软件开发的质疑和冷落。因为互联网和自由软件进入我国较晚,也因为中国人在英语上的不足和东西方文化的差异,还因为早期国内的一些开源爱好者对开源软件的理解不足,使得在开源方面较为领先的西方开源人士对国人在开源上的使用和贡献存在极大偏见。中国开源力量融入国际开源社区的过程是缓慢和艰苦的,幸运的是,近四五年来,随着GitHub的兴起和多个开源社区的迅猛发展,中国每年产生的计算机人才也多了起来,中国越来越多的互联网公司开始正确地拥抱开源,中国工程师在国际开源社区的贡献和影响力也越来越大(比如,作为一个很年轻的创业公司,小米就在不到一年半的时间里推出了3个HBase committer),这确实不是一件容易的事。但是,今天不管是在云计算、大数据,还是容器等诸多开源技术领域,真正由中国人自己主导、从零开始、自主研发、最后贡献到国际开源社区并成为顶级开源项目的,应该就只有Apache Kylin一个。Apache Kylin是2013年由eBay在上海的一个中国工程师团队发起的、基于Hadoop大数据平台的开源OLAP引擎,它利用空间换时间的方法,把很多分钟级别乃至小时级别的大数据查询速度一下子提升到了亚秒级别,极大地提高了数据分析的效率,填补了业界在这方面的空白。
我非常高兴能够看到一个来自国内的团队开源一个项目,并在短短不到一年的时间里顺利使其毕业,也使其成为Apache软件基金会的顶级项目,取得了可以和Hadoop、Spark等重大开源软件相提并论的成就。一支来自国内的工程师团队能够快速融入国际开源社区,被全球最大的开源软件基金会接纳并成功占领一席之地,这是一件非常不容易的事情,足以让国人欣慰和骄傲。这一切都和Apache Kylin项目背后的负责人韩卿(Luke)密不可分。我是在QCon北京2014全球软件开发大会上认识韩卿的,并由此第一次知道了Kylin这个项目,和韩卿开始交谈不久,我就觉得他是当时国内为数不多的、真正懂得开源软件打法的一个人。那次的交谈非常愉快,从此我也开始关注这个项目并极度看好它。
开源项目,并不是将代码公开就完事了,团队需要做更多艰苦的工作来不断推广技术、经营社区和营销品牌,使得项目能够被广泛接纳和使用。韩卿及Kylin团队在这方面做得非常出色,在各种国内外的技术大会上、很多开源社区里都可以看到他们忙碌的身影。在短短的两年时间里,我就看到Kylin项目从Apache孵化器项目毕业成为顶级项目,也看到这个团队离开eBay并创立了Kyligence这家创业公司。今天,很多成功的重大开源项目背后都有一两个伟大的创业公司:Hadoop背后是Cloudera和Hortonworks、Spark后面是Databricks,等等。我也看好Apache Kylin后面的Kyligence!
小米不仅仅是一家手机公司,更是一个大数据公司,公司内部的很多产品和业务都深度依赖大数据分析,我们所面对的数据量、挑战和困难都是空前的。Apache Kylin独特的数据查询性能优势在小米中有很多应用场景,我希望将来我们能够更多地用到Apache Kylin技术,也希望和Kyligence能有深度的技术合作。
今年,深度学习和大数据引发了人工智能的热潮,人工智能的热潮反过来也会推动大数据领域相关技术的发展和演进,大数据领域必将诞生更多的新技术和新产品。相信在不久的未来,会有更多的、类似于Apache Kylin的、由中国人主导的项目从实际需求中产生、开源并被贡献到国际开源社区,向世界输出我们的技术实力。在将本书推荐给读者的同时,我也希望更多的读者、团队和公司能一起参与、贡献和拥抱开源,努力提高我国技术人员在国际开源社区的影响力。Apache Kylin项目相关的经验也非常值得其他技术人员学习和借鉴!
崔宝秋
小米首席架构师
小米云平台负责人