下一个十年,我们需要一款什么样的 OLAP 数据库?( 二 )


下一个十年,我们需要一款什么样的 OLAP 数据库?

文章插图
在全球范围内,Apache Doris 已经得到了超过 1000 家企业用户的认可,并且这一数字仍在快速增长中 。这 1000 多家企业用户中,绝大多数与社区有着直接联系,并通过各种方式参与到社区建设中来 。他们中的许多企业用户也参与到本次 Doris Summit 的议题分享中,将自身基于真实业务场景的实践经验分享给大家 。
版本更新迭代
如果说过去版本将使用和运维的简易性作为第一追求的话,那么 2022 年发布版本则是在性能、稳定性、易用性等多方面特性的全面进化 。
  • 4 月份社区发布了自开源以来的首个 1 位版本—— Apache Doris 1.0,在 1.0 版本中,意义非凡的向量化执行初次与大家见面,标志着 Apache Doris 开始迈入极速数据分析时代 。
  • 6 月份发布的 1.1 版本,我们对向量化引擎进行了进一步完善和优化,并将其作为正式功能默认开启 。与此同时,社区建立了 LTS 版本发布机制,以每月发布一个 3 位版本的速度,对 1.1 版本进行快速地 Bug 修复和功能优化,力求满足更多社区用户在稳定性方面的高要求 。
  • 在综合考虑版本迭代节奏和用户需求后,我们决定将众多新特性在 1.2 版本中发布 。同时期社区的稳定性和质量保障工作也取得了显著的成效,测试 Case 得到了极大程度地丰富,并在 Master 分支上构建了流水线 。通过一系列质量手段,Apache Doris 的代码质量和稳定性得到进一步提升,这也使得版本发布有着更加严格的准出标准 。
  • 12 月初 1.2 版本正式面世 。这一版本的发布不仅使查询性能有了近十倍的提升,同时我们还推出了过去半年时间里研发的诸多重磅功能,包括 Unique Key 模型 Merge-on-Write 的数据更新模式、支持无缝对接多种数据湖的 Multi-Catalog 多源数据目录、JAVA UDF 、Array 数组类型和 JSONB 类型等,让 Apache Doris 在更多数据分析场景具备了更强的适应性和可能性 。
  • 我们也针对系统稳定性进行了大量的工作,一方面,利用 SQL Smith 等自动化测试工具以及各个知名开源项目的测试用例,构建了数以百万计的测试用例集;另一方面,通过社区准入流水线和完善的回归测试框架,保证了代码合入的质量 。因此1.2 版本不论从功能、性能还是稳定性方面,都是一次厚积薄发后的全面进化,也是对所有开发者在 2022 年辛苦付出的最好回报 。
核心特性演进核心特性方面,社区的研发力量主要围绕四个方面开展工作,分别是性能、实时性、半结构化数据支持与 Lakehouse 。
  • 查询性能提升 。从 1.0 版本面世到 1.2 版本发布,Apache Doris 在性能方面取得了极为显著的成绩 。在单表场景上,Apache Doris 荣登 Clickhouse 公司推出的 Clickbench 数据库性能榜单,并取得了前三名的优秀成绩 。在多表关联场景上,得益于向量化执行引擎及各种查询优化技术,相对 2021 年底发布的 0.15 版本 ,Apache Doris 在 SSB 和 TPC-H 等标准测试数据集下均取得了数倍乃至数十倍的性能提升 。这一系列性能方面的优化,已经成功让 Apache Doris 跻身全球数据库性能最优阵列中!

下一个十年,我们需要一款什么样的 OLAP 数据库?

文章插图
  • 实时场景优化 。在 1.2 版本中,我们在原有 Unique Key 数据模型上实现了Merge-On-Write 的数据更新方式,查询性能在高频更新时有 5-10 倍的提升,实现了在可更新数据上的低延迟实时分析体验 。另外还实现了轻量 Schema Change 功能,对于数据的加减列不再需要转换历史数据,可通过 Flink CDC 等工具快速便捷地同步上游事务数据库中的 DML 或 DDL 操作,使数据同步工作能够更加流畅统一 。
  • 半结构化数据支持 。目前 Apache Doris 支持了 Array 和 JSONB 类型,其中 Array 类型不仅能更方便地存储复杂的数据结构,还可以通过 Array 函数满足用户行为分析等场景的业务需求 。而 JSONB 是一种二进制 JSON 存储方式,它不但比纯文本 Text JSON 的访问性能快 4 倍,同时也有更低的内存消耗 。通过 JSONB 可以方便地导入各种 JSON 格式的日志数据结构,并能取得优异的查询效率 。这也是 Apache Doris 在日志分析领域所做的探索之一 。

下一个十年,我们需要一款什么样的 OLAP 数据库?

文章插图