近年以来,在数字化、智能化趋势下,数据需求快速发展,数据库市场热度持续走高。最近,由百度捐赠的开源实时数据库 Doris 从 Apache 软件基金会孵化器毕业,正式成为 Apache 的顶级项目,成为近期数据库行业的重要事件。同时,这也是中国开源开发者所主导的新兴数据仓库及数据分析类开源项目的重大成功。
(相关资料图)
从凤巢、百度统计到开源社区,Doris 的数据分析十四年
Doris 是由百度自研并捐赠至 Apache 软件基金会的开源 MPP 数据库,它的前身是百度 PALO(PALO 来源于 2012 年当时定位的核心场景——OLAP在线分析处理的字母倒序)。Doris 定位为高性能分析型数据库,于 2008 年诞生,彼时的中国互联网中,百度的营销推广系统凤巢已经是规模和知名度非常大的企业级业务系统,背后,则由 Doris 支撑,并大幅提升了百度凤巢业务的数据分析时效性。
2009 年,Doris 开始支持百度内部其他报表系统,包括支撑百度另一个王牌的网站分析产品——百度统计。2012年 Doris 成长为百度首个公司级 OLAP 分析平台,并在之后几年对各项核心技术进行升级,大幅提升各项技术指标。可以说,从创立到现在,Doris 跟随了百度业务和数据分析发展的十四年,在百度内部支撑了 140 多个业务线的运行。
这样的经历本已足够丰富,值得言说,但对 Doris 来说,以上的种种改进变化只是 Doris 发展之路的开端。2017 年百度宣布 PALO 正式对外开源;2018 年将 PALO 的核心引擎捐赠给 Apache 软件基金会,并命名为 Apache Doris,这标志着百度 PALO 团队开始全力推进 Doris 社区发展;2020 年以来,在百度 PALO 团队与社区伙伴的共同努力下,Apache Doris 社区走上发展快车道,经过一年的发展,Doris 各项核心能力大幅增强,在开源社区和行业影响力也进一步提升,除了 GitHub star 数快速增长,Doris 社区还成为中国信通院 2021 年 “OSCAR 尖峰开源项目及社区”,获得“首批可信开源社区共同体(TWOS)” 正式成员认证。到了 2022 年,随着 1.0 大版本的正式发布,Doris 日趋完善和成熟,百度正式发起商标捐赠,成功推动 Apache Doris 完成毕业,成为 Apache 软件基金会顶级项目。
全场景实时性、高成熟度,Doris 打磨实时数据硬实力
开源的数据库产品层出不穷,而 Apache Doris 之所以能够脱颖而出,这与其十分独到的差异化优势紧密相关。第一点,在全场景实时方面,Doris 诞生至今的 14 年里,它已在百度内外经历了大量的复杂场景测试与工作,除了内部 140 多个业务线在使用,在外部有超过 500 多家企业使用。Doris 能够完整支持数仓各类数据模型和查询场景,并提供全场景实时、高性能的支持,例如,历史数据、增量数据、单表查询、流式写入、批量导入等等。
与之相比,市面上的一些其他实时数仓中,如 MOLAP 类数仓主要针对历史数据,提供相对固化的多维建模,灵活性较差;另外,MOLAP 预建模也会出现数据爆炸的问题;此外,MOLAP 对增量数据的支持能力并不理想。而 Doris 则可以支持各种场景,并均能提供很好的性能。另外,一些在特定场景性能较高的实时数仓引擎,因受自身架构限制,对多表查询支持较差,并发能力也存在显著的短板。相比之下,Doris 在数仓的各个主要场景都能提供很好的支持,并能提供优秀的性能表现。
第二点,在易用性和成熟度方面,数仓本身是一个十分复杂的系统,系统的部署、运维、使用门槛都比较高,而经过多年打磨和大规模应用的 Doris 已经是成熟度较高的产品,具有优秀的易用性和可操作性。例如 Doris 对 SQL 具有完善的支持,并且高度兼容 MySQL 协议,最大程度降低了数据仓库的使用门槛。
在部署中,以往数据仓库通常需要依赖 Hadoop 等外部组件,维护部署成本较高,Doris 则拥有极简的核心模块,且对外没有任何依赖。同时 Doris 具有完善的 MPP 架构,内置强大的分布式集群能力,并提供易用的自运维支持。例如,Doris 可以支持自动化在线扩缩容,数据可在后台实现自动均衡,全程不需要用户手动参与,显著降低了数据库扩缩容操作的难度和风险。
拥有了这些全面的功能、易用性和性能表现,Doris 在 2018 年被捐赠给 Apache 之后,便快速吸引了大量中国顶级互联网企业使用和参与贡献。中国互联网业务的数据体量和高并发需求,可能在世界上都是独特的,Doris 能够适应全场景的业务需求,无论是聚合、明细、单表、多表等互联网大厂中各种数据分析的场景,Doris 都能较好支持,使用非常方便。
另外,在性能、功能丰富度和易用性上,互联网公司的技术团队使用 Doris 集群更加方便地实现动态扩缩容,当节点出现故障时,数据可以进行自动迁移,完全不依赖外部系统,也不会影响上层的业务系统,让集群运维变得非常简单。同时 Doris 提供了高并发与高时效的在线查询体验,帮助互联网企业的技术团队以极低的建设成本,满足了业务侧报表、大屏或即席查询等需求。
Doris 作为一个复杂的系统,社区未来将持续打磨其核心能力,保持核心技术指标的领先。例如,百度将持续打磨和优化现有的查询层、执行层和存储层等核心组件,将其优化得更加完善、更加稳定、性能更强;实现完全的面向列的向量化执行引擎,全面淘汰行存;实现全新的 CBO 优化器以及更加精细和丰富的统计信息,将 Doris 的性能和易用性进一步推向极致;强化 Doris 的 Profiling、Trouble Shooting、细粒度的资源监测和管控等能力等;推进研发冷热分离、多表物化视图、复杂类型、更新等社区呼声最高的新特性。
坚定开源开放,让 Doris 走得更远
开源开放,一直是开发者展现硬核技术实力的方式,也是优秀技术人所追求的最纯粹的目标。中国的开发者,早已从开源的使用者,逐步开始成为开源的贡献者与核心项目的主导者。从 Apache Doris 社区的发展,我们看到了百度与 Doris 社区对开源精神的坚持,以及开放的技术心态。如今,Apache Doris 成功完成了毕业,成为 Apache 顶级项目,毕业是新的开始,也意味着新的责任和使命。作为 Apache Doris 的“娘家人”,百度在开源积累了多年的经验,并且成功推出了飞桨、阿波罗、ECharts、BFE、BRPC、XuperChain 等一批知名开源项目。对于 Doris 未来的发展,百度将会一如既往全力投入开源社区,并将在 PALO 的商业化实践中获得的技术经验持续与社区分享。
Apache Doris 的发展,离不开 Apache 软件基金会的专业指导,以及美团、小米、京东、腾讯、字节等大量社区伙伴的全力参与。未来,随着项目的发展壮大,将会有更多的用户和企业参与到社区的使用和贡献中来。面对这样全新的形势,百度 PALO 团队将以 Apache Way 为指引,与社区的伙伴们一道,建立和维护公平、开放、协作的行为规范,努力构建一个生机勃勃的开源社区。
Apache Doris 毕业会,Apache 软件基金会项目导师、社区核心开发者悉数到场
PALO Cloud 是百度 PALO 团队以 Apache Doris 为核心引擎打造的一款企业级云原生实时数仓,历经多年的大规模商业化打磨,PALO 具有完善的企业级特性和领先的云原生能力,包括存算分离、多仓共享存储、异构计算、容灾备份等大量专有能力。同时,基于独到的在离线融合、湖仓一体能力,PALO Cloud 将帮助用户大幅简化传统的大数据基础架构,减少资源和维护成本,真正构建以数据为中心的新一代全场景统一湖仓。未来,PALO Cloud 将提供全面的跨云和混合云能力支持,包括多云部署、跨云容灾、跨云冷热分离、跨云弹性等,帮助企业进入数据分析的“多云原生”时代。
中国是百度开源的起点和根基,未来,百度也将继续走向全球。从捐赠之初,PALO 团队的目标就是将 Doris 建设成为全球一流的开源数据仓库项目,百度的官网、文档、讨论组等从最开始就是按照全球化的标准建设和运营。近年来,随着项目的逐步成熟,Doris 也开始吸引一些海外企业与技术团队的加入和使用。目前,百度正着手将 Apache Doris 和 PALO Cloud 推向全球,凭借优秀的产品力,相信 Doris 和 PALO 未来一定能够被更多海外的用户所接受和认可。祝福 Doris,祝福 PALO,继续成长,用技术,改变世界!