近日,全球著名开源社区Apache基金会宣布“百度开源的Doris项目全票通过进入Apache孵化器”。这是百度继ECharts后第二个进入Apache基金会的项目,充分彰显了百度“开源速度”。
Doris是百度开发的面向在线报表和分析的数据仓库系统,可以对标于商业的 MPP 数据仓库系统,比如Greenplum、Vertica、Teradata 等。
Doris 前身是百度Palo,自2017年8月在Github上开源以来,收获700多个Star,目前性能和易用性方面已达到业界领先水平。同时,Doris 在百度内部应用于200多个产品线,在公有云和ToB业务中也获得了高度认可,外部已有包括小米、瓜子在内的十多家公司使用。
Doris 主要基于 C++ 和 Java 开发,集成了 Google Mesa 和 Apache Impala 的技术。其中Mesa 是一个高度可扩展的分析数据存储系统,用于存储与 Google 互联网广告业务相关的关键测量数据。Impala是一种基于Hadoop数据处理环境的现代 MPP SQL 引擎。
Doris项目负责人马如悦介绍到:“在 Mesa 与 Impala 进行组合的基础上,Doris 被设计为一个不依赖于其他系统的简单且单一紧密耦合的系统,并实现了MySQL协议,使得用户可以像使用 MySQL 一样无门槛的过渡到Doris,包括各种报表应用都可以通过MySQL协议连接 Doris,同时获得高并发低延迟点查询性能,而且还能进行高吞吐量的即席分析查询。Doris 不仅提供大批量数据加载,而且还提供近乎实时的小批量,甚至流数据加载。此外Doris还具备高可用性,可靠性,容错性和可扩展性。”
Doris博采众长,并在此基础上进行了大胆创新,形成了自己独特的优势,其特点主要包括:1)完全兼容MySQL协议;2)采用列式存储、对数据以高压缩比进行压缩存储、向量化执行、LLVM优化等先进技术,因此获得了极高的查询效率;3)支持多种存储模型:同时支持类似于Mesa将列分为Key和Value的存储模型,同时支持Unique Key和Dup Key的存储模型。用户可以根据自己的业务场景,选用不同的存储模型;4)支持两层分区;5)支持多种数据导入方式;6)安全资源隔离扩容缩容;7)备份和恢复;8)支持web监控和管理;
百度开源推进组负责人谭中意也表示:“百度抱着参与、回馈、影响社区的态度进行各种开源活动,充分尊重和理解开源社区的规则和精神,而继 ECharts 成为 Apache 基金会的孵化项目后,百度继续捐献Doris项目给apache 基金会,百度会继续跟各个开源社区进行更加广泛和深入的合作。”
Doris项目Champion及导师、Apache基金会副总裁Dave Fisher表示:“很荣幸,也很高兴作为Champion参与Doris在 Apache基金会的孵化过程,这是我们第二次看到百度捐献优秀的项目到Apache基金会,我们很高兴看到百度在开源方面的巨大进步和突破。Doris作为面向在线报表和分析的数据仓库系统,具有独特的实现优势和较为丰富的使用前景,加入Apache基金会进一步表明Doris拥抱开源的决心,在遵循‘the Apache Way’的基础上,打造一个更为中立、开放、多元的社区文化,让更多人享受Doris项目带来的技术革命。”