百度开源项目 Doris 正式成为 Apache 的孵化器项目之后迎来新成果,通过社区投票,成功发布第一个社区版本。作为第一个 Release 版本它的功能都有哪些呢?一起了解一下。


1.gif


近日,Apache Doris(incubating)通过社区投票,成功发布第一个版本0.9.0。



2.jpg


 Doris 是什么?


Doris(原百度 Palo)是一款基于大规模并行处理技术的分布式 SQL 数据库,由百度在2017年开源,2018年进入 Apache 孵化器。

 

 Doris 的主要特性 

 

1. 兼容 MySQL 协议,支持包括多表 Join、子查询、窗口函数、CTE 在内的丰富的 SQL 语法。支持诸多常见 BI 报表系统,能极大降低用户的学习和迁移成本。


2. 支持高并发点查询和高吞吐的多维分析查询场景。通过分区裁剪、预聚合、谓词下推、向量化执行等技术,以及高效的列式存储引擎即数据压缩算法,满足不同业务场景下的延迟和吞吐需求。


3. 特有的数据预聚合功能。支持预聚合表和基准表同步原子更新,为报表场景提供更快速的查询响应。


4. 提供强大的扩展性和高可用特性。所有数据都采用多副本的方式保证数据的高可靠,同时提供全自动的副本选择、均衡和修复功能,为用户提供7*24小时的高可用数据库系统。


5. 提供友好的在线表结构变更功能,能有效应对业务上的需求变化。


6. 提供两级数据划分功能以及分层存储功能。用户可以更灵活地对数据进行管理和维护。

 

Doris 在百度内部已应用于包括百度搜索推广、百度统计等200多个业务线。最大单一业务数据量超过500 TB。同时在百度公有云和 toB 业务中也获得了高度认可。自开源以来,已有包括小米、美团、搜狐、新浪微博、瓜子、链家、上海绎维、零售魔方、量化派在内的十多家公司将 Doris 使用在生产环境中。


1551323541735306.gif


 

 首个 Release 版本发布 


作为 Doris 进入 Apache 孵化器以来的第一个 Release 版本,该版本在功能、性能、易用性、稳定性方面做了诸多改进。下面介绍本次发布的一些主要功能。

 

1. 流式导入

之前版本中,Doris 只支持批量的异步导入方式。这样的导入方式对 Kafka、Spark Streaming 等流式系统来说并不友好。另外,批量导入执行过程中有多次落盘操作,导致导入整体效率不高,单机导入速度大概在10-20MB/s。


新的导入方式,采用 micro-batch 的思想,Doris 一方面支持了同步导入数据,方便对接流式数据源;另一方面也极大的提高了导入效率,单节点导入吞吐能够达到100MB/s;小数据量导入延时从分钟级降低到毫秒级。

 

2. Co-Location Join

通过对表数据分布的管理,支持多表数据的原地 Join 操作。减少 Join 操作的网络传输,极大降低 Join 类查询的延迟。(感谢美团同学的贡献)

 

3. 高效的数据分片管理

通过引入 RocksDB 来存储数据分片的元信息,极大地减少随机 IO 操作。单机50万分片启动时间从10分钟降到了20秒。

 

4. 更丰富的集群状态查询和管理

提供多达100多项监控指标,以及丰富的监控 Dashboard;提供当前查询和历史查询的资源消耗展示和统计;提供更完善的副本管理和状态查询工具。方便运维人员快速定位系统故障和找出性能瓶颈。

 

5. 提供 Docker 开发环境镜像

开发人员无需再应对复杂的编译依赖,可以在绝大部分环境下快速搭建 Doris 编译调试环境。

 

6. Apache License 2.0

License 修改为 Apache License 2.0,任何公司或者个人都可以自由的使用和开发 Doris。

 

7. Bug 及稳定性问题修复

多达30余项 Bug 及稳定性问题修复。助力 Doris 成为更成熟稳定的数据库产品。


1551323464930153.gif


 目前也有越来越多的开发者加入 Doris 社区。Doris 团队非常感谢用户的支持,将一如既往的努力,推进 Doris 向着更开放、合作、商业化更友好、周边工具更丰富的方向不断前进。

 

同时,我们也维护了 Doris 的百度分支。百度分支将会与社区分支保持同步,并更快速的修复 Bug,且更加频繁的进行版本发布。用户可以将百度分支的发布版本用于生产环境以保证更加稳定的线上服务。

 

Doris 计划在2019年4月发布下一个 Apache 官方版本。在新的版本中,Doris 将增加与 Kafka 的数据对接能力,支持对 ElasticSearch 的数据查询能力,以及包括用户自定义函数(UDF),Decimal 数据类型改进等多项功能更新和性能优化。


敬请期待,欢迎体验!