2016年5月12日,第七届中国数据库技术大会(DTCC 2016)在北京国际会议中心拉开帷幕。作为国内数据库与大数据领域最大规模的技术盛宴,本届大会以"数据定义未来"为主题,云集了国内外顶尖专家,在为期三天的会议中,将围绕MySQL、NoSQL、Oracle、缓存技术、云端数据库、智能数据平台、大数据安全、数据治理、大数据和开源、大数据创业、大数据深度学习等领域的前瞻性热点话题与技术展开深入探讨。据悉,本届大会吸引5000多名IT人士参会,突破往届参会人员人数的记录,创7年来历史之最。继第一天精彩的内容分享之后,在第二天的主论坛上,Kyligence联合创始人兼CTO李扬做了主题为《Apache Kylin大数据分析平台的演进》的分享。
Apache Kylin(麒麟)是啥?
近二十年内,ROLAP技术随着MPP并行数据库技术的发展,尤其是列存技术的支持下,实现了分析能力大幅度的跨越提升,同时伴随着内存成本的进一步降低,单节点内存扩展性增强,集群单节点的查询性能实现了飞跃,内存数据库的实用性跨上了一个新台阶,这些技术进步共同作用的结果是类似的技术基本覆盖了TB级别的数据分析需求。 Hadoop以及相关大数据技术的出现提供了一个几近无限扩展的数据平台,在相关技术的支持下,各个应用的数据已突破了传统OLAP所能支持的容量上界。每天千万、数亿条的数据,提供若干维度的分析模型,大数据OLAP最迫切所要解决的问题就是大量实时运算导致的响应时间迟滞。
Apache Kylin 是一个Hadoop生态圈下的MOLAP系统,是eBay大数据部门从2014年开始研发并开源的支持TB到PB级别数据量的分布式OLAP分析引擎。其特点包括:可扩展的超快的OLAP引擎、提供ANSI-SQL接口、交互式查询能力、MOLAP Cube 的概念与BI工具可无缝整合。
李扬介绍,Kylin作为一个全新的开源项目,属于Hadoop上的多维分析工具,可以支持非常大的数据集。最早在2014年开源至今,已经跻身Apache的顶级项目,是唯一一个全部由华人主导的开源项目。“简单来说,ApacheKylin就是Hadoop之上的一个OLAP多维分析引擎,提供标准SQL接口和秒级别的查询响应。在确定的星形数据模型上,可以代替Hive查询,响应速度提升100到1000倍。相比其他类似技术,Kylin的特点在于导入数据时进行预处理,构建Cube,从而在查询时刻大量减少连接和聚合运算,实现高吞吐量和高速响应。”
Apache Kylin 1.5新特性有哪些?
作为一个开源项目,Kylin同样面临着技术产品的不断更新演进,通过版本的升级迭代,为用户带来更好的应用体验。李扬介绍,Kylin1.5作为最新版本产品,新增加了以下几个特性。
首先,新增可扩展架构。据介绍,通过可拓展架构,Kylin打破了之前绑死在Hadoop架构上紧耦合的架构。“可扩展后,Kylin的灵活性增加很多,不一样的构建算法适合不一样的数据集,用户可以根据自己数据集的特性指定。”李扬表示。
第二,新CUBE引擎。李扬介绍,老引擎的问题,是用的非常质朴的CUBE 构建算法,让用户感觉使用不是很便捷。新CUBE引擎采用分层模式,好处在于简单,开放量更少。
第三,新增并行的扫描功能。新版本在数据存储结构方面做了分区调整,从原来的一个物化视图存在一个节点上改为存储到多借点,形成并行扫描模式。“理论状态下,查询速度可以据提升5-10倍,而真正到生产环境下,在1W条左右的数据查询,在新旧版本下进行比较,查询速度提升了2倍左右。”
第四,静实时的构建过程。增量的预处理,在Kylin里叫增量构建。大的按年,中的按月、周,以此类推。新特性上线后,可以把时间颗粒切的更小。“这样做带来一个副作用,就是会产生非常多的小cube碎片,越来越多的时候,会造成查询速度下降等问题。解决方法是把碎片做合并,而不是人为手工触发。好处是该功能的增加可以为数据提供分析支持,不过目前还是测试阶段。”李扬介绍。
第五,用户自定义的聚合类型。以前麒麟有近似的算法,都是社区贡献的。用户通过他可以实现自己领域内的聚合函数的实现,可以拓展到很多领域,从而做很多事情。“该功能上线,给了用户比较多的想象空间,用户感兴趣可以多多尝试。”
最后,支持更多的分析工具,为用户带来更多便利。
李扬表示,Kylin目前仍是一个开源产品,需要更多的关注,在大会现场,他表示,也欢迎更多的用户来参与使用,提出问题,来帮助Kylin改进。
关注大会官方公众号,获取更多详情!
↓↓↓