共计 8419 个字符,预计需要花费 22 分钟才能阅读完成。
采访整顿:SegmentFault 思否
采访嘉宾:百度 PALO 团队(杨政国、缪翎、李昊鹏、朱小力、龚政、张志强、仲毅、张东进等)
2022 年 6 月 16 日,Apache 软件基金会发表博文,发表 Doris 正式毕业,正式成为 Apache 顶级我的项目(TLP)。(相干浏览:Apache 官网 blog 地址)。
从 2008 年诞生到明天,Doris 曾经走过了十四个年头。这十四年间,Doris 经验了诞生、推广、倒退、开源、捐献、凋敝,成长的旅程中也历经了诸多艰苦和挫折。
SegmentFault 思否独家专访了百度 PALO 团队,为你出现这背地鲜为人知的故事与波折。
以下内容整顿自访谈实录。
为数据分析而生,Doris 的“前世今生”
SegmentFault:回顾 Doris 14 年发展史,Doris 的都经验了哪几个我的项目里程碑?
百度 PALO 团队:说起 Doris 的历史,它最后诞生于百度,目标是解决过后百度外部高并发,高实时的在线报表需要,不觉间 Doris 曾经走过了十四年。
•2008 年,Doris 在百度诞生,定位为高性能剖析型数据库,大幅晋升了百度凤巢
业务的数据分析时效性。
•2009 年,Doris 开始反对百度外部其余报表零碎,并助力百度统计成为国内当先
的中文网站剖析工具。
•2012 年,Doris 成长为百度首个公司级 OLAP 剖析平台并正式改名 PALO(OLAP 的反写)。
•2013 年,PALO 降级新一代 MPP 分布式架构及高性能数据模型,各项外围技术指标大幅晋升。
•2017 年,PALO 正式对外开源。
•2018 年,百度将 PALO 的外围引擎捐献给 Apache 软件基金会,并命名 ApacheDoris,百度 PALO 团队开始全力推动 Doris 社区倒退。
•2020 年,在百度 PALO 团队与社区搭档的共同努力下,ApacheDoris 社区走上
倒退快车道。
•2021 年,Doris 各项外围能力大幅加强,行业影响力进一步晋升,成为中国信通
院 2021 年“OSCAR 尖峰开源我的项目及社区”,取得“首批可信开源社区共同体(TWOS)”
正式成员认证。
•2022 年,百度正式实现商标捐献,推动 ApacheDoris 实现毕业,成为 Apache 软件基金会顶级我的项目。
SegmentFault:咱们看到 Doris 已经改名为 PALO(OLAP 的反写),这个背地有着什么特地的寓意吗?
百度 PALO 团队:2008 年,诞生之初,在百度外部被命名为 Doris,大概在 2012-2013 年,Doris 进行过一次大的架构改版降级,符合过后定位“解决高并发,高实时的 OLAP 场景”,于是团队将“OLAP”进行反写,“PALO”就此诞生,最终 PALO 也成了百度基于 ApacheDoris 构建的商业化数仓产品名字。
2018 年百度 PALO 团队和百度负责开源的共事一起携手将 PALO 我的项目捐献给 Apache 软件基金会(ASF),鉴于品牌及商标等问题的考量,最终把开源我的项目定名为 ApacheDoris,并把 Doris 的品牌和商标一并捐给了 ASF,正式成为 ASF 孵化我的项目。
SegmentFault:作为已经百度外部的高性能剖析型数据库,为什么会思考把产品开
源?
百度 PALO 团队 :Doris 在 13 年设计新版时,曾经在百度外部失去了简单场景和高并发、大压力的验证,咱们心愿将来能将它开源进来,让更多的人用到并获益,同时心愿通过开源的形式减速其成长。所以,在新版设计的时候,咱们去掉了百度外部闭源库及外部零碎的依赖,让整个零碎可能独立、自在运作。 百度 PALO 团队深信将来基础设施软件必然会走开源路线,只有开源能力放弃产品生机和迭代速度。
开源之初,咱们的指标就是将 Doris 建设成为寰球最优良的开源数据仓库之一,所以,咱们抉择了在 Apache 软件基金会进行开源。家喻户晓,Apache 软件基金会在大数据畛域的我的项目都极具影响力,比方 Hadoop 和 Spark 等大家耳熟能详的我的项目。
从开源到当初,ApacheDoris 的 Star 和 Contributor 数量都有了数倍,甚至数十倍的增长,尤其是从 2020 年开始,社区外围指标增长速度显著放慢,这也从侧面反馈出,外界对 ApacheDoris 我的项目的关注度和认可度在一直减少。
下图是来自 StarHistory 的数据,能够看到 ApacheDoris 从最后的 240 个 Star,一路走来,到目前 Star 数曾经达到 4500 个。从图上也能够看到近两年,增长趋势显著放慢。
ApacheDorisStar 数量增长趋势图
下图是来自 api7 的数据,能够看到 ApacheDorisContributor 的数量从最后的 10 个左右,增长到当初的 330+,增长趋势也在逐渐放慢,月度沉闷贡献者的数量曾经达到 80 个。
SegmentFault:近两年中国开源资本热,在你们看来什么样的软件适宜开源,什么样的软件适宜闭源倒退?
百度 PALO 团队 :“开源”这两年确实受到了资本热捧,加之国家十四五布局对“开源”的
加持,热度一再飙升。尤其是 Doris 所在的赛道,更是被称为“黄金赛道”,这两年前前
后后诞生了十几家守业公司,真堪称“雨后春笋,俯拾皆是”。
“资本”对开源的追捧和青眼,相对不是因为“情怀”更不是因为“爱好”,他们更关注的是“开源”背地的“商业化”前景。资本对开源的助力,是资源的加持,这个加持能够让开源我的项目倒退更快,产品成熟更早。而基于开源而生的商业化产品才是其真正价值所在,要想继续失去资本“青眼”,开源背地的商业化产品,肯定要切中付费用户的需要和痛点,做出跟开源产品的差异化特色和竞争力,且要放弃和开源产品良好的共生关系。
“开源”讲求的是共建共享,一群人能够走的更远,所以,咱们认为那些“投入大,转化周期长”的产品是比拟适宜开源的。ApacheDoris 就是在这样的背景下采取了开源路线,也正是通过开源,Doris 我的项目取得了远超单个公司的投入力度,以及大量用户的应用和打磨,最终,也使得 Doris 的产品力和影响力失去了长足的倒退。
SegmentFault:从外部工具到极速简用的 MPP 开源数据库,在产品层面 Doris 经验了怎么的变动?
百度 PALO 团队 :Doris 的产品定位叫做“为数据分析而生”,Doris 在产品层面的变动
是随同着数据分析的场景变动而一起演进的,经验了四个倒退阶段:
第一阶段是商业智能剖析,重视通过数据来对业务进行形容与剖析,这也是 Doris 诞生的阶段。2008 年,Doris 在百度凤巢诞生,自身就是为了解决报表问题,到了 2012 年,Doris 曾经成为百度的首个公司级 OLAP 平台,承接整个公司的报表需要;
第二阶段是海量数据分析,也就是在企业信息化和数字化遍及之后,数据量大幅减少,数据库要可能解决相比之前十倍百倍的数据。2013 年,Doris 实现了 MPP 引擎革新,利用分布式能力,大幅度晋升数据处理能力与效率,所能解决的数据量级晋升到 TB 至 PB 级别,查问时效性也有了肯定晋升;
第三阶段是实时数据分析,在这一阶段中,企业更加重视实时性和预测性剖析,冀望在海量数据下减速传统 T+1 模式的剖析效率,取得分钟级甚至秒级的剖析能力,这也正是近些年来 Doris 所解决的用户外围痛点。自 2017 年开源至今,Doris 通过对存储引擎、查问引擎、查问优化器等各个外围模块的优化,一直加强性能体现,尤其是近期的向量化引擎,更是把性能全面减速了 5-10 倍,真正实现海量数据下的毫秒级查问体验;
第四阶段是全民数据分析,在这一阶段中,数据分析不再是数仓保护人员和数据分析师的“专利”,企业中的许多角色都有着自主数据分析的需要和能力,所有人都冀望可能疾速地剖析、应用数据,获取价值,这也是以后 Doris 正在解决和应答的需要:一方面在查问性能方面,Doris 要可能反对更高并发与吞吐,提供更加多样化的查问能力,以应答企业“全民数据分析”的场景需要;另一方面,Doris 更要提供低成本、低门槛的查问剖析伎俩,比方进一步晋升自运维能力,提供开箱即用的数据分析体验,帮忙用户更加关注业务与数据自身,而无需消耗过多精力在零碎底层的部署运维工作。这一点在百度的商业版本 Palo 中有着更多体现,咱们充分利用云的弹性能力和容器化能力,为用户提供近乎于 0 运维老本的集群托管服务,不论是存储计算资源扩缩容,还是云原生化的监控调优能力,都在帮忙用户以极低地老本与门槛,向全民剖析时代飞速跃进。
木桶效应,Doris 强在每一块木板都很平衡
SegmentFault:Doris 在性能,功能丰富度和易用性上体现都十分杰出,那么在您看来 Doris 最强的竞争力是什么?
百度 PALO 团队:ApacheDoris 最强的竞争力在于可能适应全场景的业务需要,无论是聚合、明细、Ad-Hoc、单表、多表等各种数据分析的场景,Doris 都能比拟好的反对。其次 Doris 在性能,功能丰富度和易用性上体现都十分杰出,在性能上 Doris 通过多年打磨,在各类场景都有极佳的性能体现,尤其是近期向量化版本上线之后,性能又有了数倍的晋升。
Doris 集群可能十分不便地实现动静扩缩容,当节点呈现故障时数据主动迁徙,这些都不依赖内部零碎,也不会影响下层业务零碎,集群运维非常简单。另外 Doris 反对十分丰盛的规范 SQL 语法,可能实现各类简单查问工作。除了传统的 AP 场景外,Doris 也提供高性能流式写入能力及在线高并发拜访能力,可构建古代 HSAP 架构的数据服务。因而 Doris 是一个十分全面、成熟和易用的零碎,就像一个木桶,Doris 的每个一块木板都很平衡,装的水天然比拟多。
SegmentFault:经常有人探讨性能与易用性的孰轻孰重,Doris 是如何均衡性能与易用性的关系的?
百度 PALO 团队:性能是 ApacheDoris 内核最重要的指标之一,也是业界对数据库类产品进行评估的重要规范。所以,Doris 对性能的追赶始终没有进行过,咱们正在继续研发的向量化执行引擎和新的优化器都是性能晋升的重要伎俩。同时简略、易用以及稳固、牢靠都是 Doris 继续关注的重点,Doris 通过极简的运维和丰盛的性能被大家熟知和认可。
极致的性能能够帮用户应答简单而刻薄的业务场景;简略、易用能够让整个零碎搭建老本更低,运维更高效。所以性能和易用性二者并不抵触,更不是互相对抗,咱们在内核层面谋求极致的性能,并不影响咱们在通过精美的设计,将简略好用的性能提供给用户,咱们会在用户可能感知的中央做大量的工作,使每一个个性都能满足不同档次用户的需要。
SegmentFault:目前 Doris 最外围解决了客户的哪些问题?比拟常见利用场景是什么?有没有成熟的商业用例?
百度 PALO 团队:Doris 最外围地解决了客户对于海量数据的高时效性剖析需要,Doris 通过本身产品能力的建设,在数据分析环节做到了性能更加高效、性能更加全面、运维更加简略、生态更加丰盛。
联合以往的教训,咱们总结了 Doris 的四大利用场景:
•传统数仓减速:在原有的传统的单机式数据库或者离线数据仓库根底上,减少高性能剖析型数据库能力,减速传统数仓的查问能力。
•实时数仓构建:构建以实时数据为主的数据仓库,反对端到端的实时数据分析,包含高时效的实时数据写入与高性能的实时数据分析。
•多源联邦查问:提供跨多数据源的对立查问入口,以对立的一站式查问能力满足业务人员多元化的查问需要。
•交互式数据分析及在线数据服务:提供高并发与高时效的在线查问体验,以极低的建设老本,高效的反对业务侧报表、大屏或即席查问等需要。
百度基于 ApacheDoris 所构建的商业化数据仓库产品 Palo 自 2017 年对外提供服务以来,在各行业均有落地实际,积攒了大量商业用例。
截至目前,已有近百家企业在应用 Palo 商业服务。比方咱们在某头部金融领取公司我的项目中,重点增强建设了 Palo 的多租户能力,满足企业各省、市子公司的数据与资源隔离需要;在某头部声学元件制造商我的项目中,充分利用了 Palo 在时序性数据方面的写入和查问能力,反对生产车间的设施数据分析与监控;在与某互联网头部问答社区的单干中,咱们针对客户的广告与画像需要,对 bitmap 及相干用法做了重点优化,为客户内容数据中台建设提供了极大反对。
SegmentFault:近两年也有一些基于 ApacheDoris 的内部的商业公司开始锋芒毕露,PALO 团队怎么看开源和商业的关系?又怎么对待这之间的竞争与单干?
百度 PALO 团队 :咱们很快乐的看到有越来越多的公司开始参加 ApacheDoris 我的项目的建设,这阐明我的项目失去了用户、社区和资本市场的认可,可见,最后咱们将 Doris 捐献给 Apache 软件基金会是十分正确的抉择。将来,随着社区的继续倒退, 咱们心愿还会有越来越多的公司可能退出,跟百度 PALO 携手共建一个凋敝和弱小的开源软件生态。
当然,咱们也看到,过来的确有一些商业驱动的不良行为对社区带来了侵害。因而,作为 ApacheDoris 的主创团队之一,咱们会动摇的保护好社区的秩序,确保社区的参与者都可能恪守 ApacheWay 行为规范,从而促成社区的衰弱可继续倒退。
以后,大量底层技术产品都采纳开源模式,客户也越来越认可开源的模式,“是否开源”正在成为很多客户进行商业决策的重要依据;另一方面,开源社区可能帮忙咱们构建松软的用户根底,以及宽泛和侧面的品牌认知,从而促成咱们商业化的倒退。所以,对于将来的技术产品,开源可能成为必须,这个“必须”不肯定侵害商业模式,反而会促成商业上的胜利。
在“大厂”做开源,播种更多的是“诗”和“远方”
SegmentFault:Doris 从捐献、孵化到毕业也经验了靠近 4 年的工夫,在这期间团队有没有遇到过一些艰难,是如何解决的?对于刚刚开源还在孵化中的我的项目有没有一些倡议?
百度 PALO 团队:ApacheDoris 从捐献到明天顺利毕业曾经靠近 4 年,这期间确实遇到了十分多的波折,在这里着重跟大家分享几点。
一是团队外部价值出现和资源抵触的问题。开源让 Doris 我的项目失去了疾速倒退,同时也给团队带来了额定工作量,团队须要保护两套代码(开源产品 Doris 和商业化产品 Palo),团队须要均衡在两个产品上的投入力度,同时还要跟公司讲清楚这两局部工作的价值及关系,间接地、间接地、甚至是暗藏在背地的有形价值。
其实这个问题的解决,最重要的是团队对于“收益”的从新定义,开源的播种,不止是反馈到绩效和降职上,他也会帮忙团队构建在社区乃至行业中的影响力。这个过程带来的成长,要比在一个公司中开发闭源产品来的更快、更多——正所谓:“海阔凭鱼跃,天高任鸟飞”,开源给团队带来了“海”和“天”。
在做好开源的同时,团队也要布局好商业产品的倒退,给公司带来商业收益,并且要把开源对商业化的正向作用向公司出现,这样就会继续失去公司的反对,造成正循环。
第二个艰难是因为没有教训,咱们走了一些弯路。最后大家对开源的认知无限,一开始什么都缺,什么都要从头开始摸索,包含物料筹备,包含意识和教训的积攒,都是趔趔趄趄,一步步摸索过去的。从 ApacheDoris 官网的建设,到官网公众号的经营,再到渠道生态体系的构建,以及开源和商业化关系的梳理等等,咱们经验了诸多艰苦与挑战,还好大家一起保持下来了。
后期咱们在内容建设上,稍不留神,就容易越过“开源”的界线,掺杂“商业化”气味,还好有 Apache 导师随时帮咱们指出问题,及时纠正。
这一点,咱们团队给出的倡议是,我的项目一开始就想分明团队搞开源的最终目标是什么,“以终为始”,这样门路执行上就不会有太多摇晃,资源投入也不会断档。同时要把开源和商业化严格辨别开来(包含产品状态和经营模式),尽量在社区中不要掺杂公心,多跟我的项目导师沟通,他们有教训,而且比拟中立,听他们的,不会错。
第三个艰难是一些内部商业因素对我的项目的烦扰。作为一个 Apache 的开源我的项目,Doris 并不排挤商业公司的应用和参加,然而,一些纯商业利益驱动的不良行为并不合乎 ApacheWay,会对社区带来侵害。因而,对于正在思考开源孵化的我的项目,后期除了选好协定及孵化组织外,咱们倡议还要做好对于我的项目名字和品牌的爱护。像商标注册之类的工作肯定要做在后面,如果在孵化过程中遇到侵权等问题,要及时跟我的项目导师和公司法务沟通,必要时要动用法律手段,以爱护社区的衰弱倒退。
SegmentFault:你们如何了解 ApacheWay 的?
百度 PALO 团队:对于对 TheApacheWay 的了解,能够参考 Sally 老师在 Apache 软件基金会官网微博的一篇文章,有趣味的能够间接读一下原文:
https://blogs.apache.org/foun…
Apache 软件基金会工作的重点,不是生产软件,而是领导产出软件的社区,这个领导办法咱们能够了解为就是 ApacheWay,它是在实践中不断完善和成长的开源社区倒退领导手册,有了它集体或者组织就能够理解大规模开源软件如何在强烈的竞争市场中进行良好运作。
TheApacheWay 的外围准则是“社区大于代码”,它更多强调的是“人”,是“生态”,衰弱的社区能力孕育优良的代码,毕竟人才是外围生产力,有了听从规定的优良开发者,不愁没有优良的代码产出。一个衰弱的社区总能纠正代码的问题,而一个不衰弱的社区难以放弃代码库的失常保护,而 ApacheWay 就是爱护一个社区在 20 年后还能衰弱凋敝的“法律框架”,违反它就要承受“惩办”。
ApacheWay 是齐全容纳、凋谢、通明和基于共识的。它确保来自商业公司的参与者中立,以避免来自单个公司的不当影响(或管制)。它确保任何具备贵重奉献的集体都有权取得受权,并且只管社区成员资格随着工夫的推移不可避免地发生变化,但它仍会确保我的项目有可持续性。
毕业成为顶级我的项目,ApacheDoris 驶向星辰大海
SegmentFault:从 Apache 孵化器毕业意味着,ApacheDoris 将开始新的征程,展望未来,Doris 有怎么的倒退布局(社区、产品、商业)?
百度 PALO 团队:毕业意味着新的开始,也意味着新的责任,咱们将判若两人地全力支持和奉献社区,把咱们在实践中所播种的产品能力与社区分享,与社区的小伙伴一道将 ApacheDoris 建设的更加欠缺,也让更多人能体验到 Doris 的优良能力。
在产品技术方面,咱们将继续打磨 Doris 的外围能力,放弃外围技术指标的当先。其中,在性能方面,咱们将全方位的打磨或重构现有的查问层、执行层和存储层等外围组件,尤其是社区呼声最高的向量化和优化器,咱们将实现齐全的面向列的向量化执行引擎,全面淘汰行存,同时,咱们将实现全新的 CBO 优化器以及更加精密和丰盛的统计信息,这将把 Doris 的性能进一步推向极致。在稳定性和可观测性方面,咱们将重点补齐 Doris 的短板,强化 Doris 的 Profiling、TroubleShooting、细粒度的资源监测和管控等能力,咱们也将会继续将咱们在大规模生产环境所遇到的各种稳定性问题及解决方案奉献到社区,进而帮忙 Doris 变得更加稳固。咱们也将继续欠缺 Doris 的各项重要性能以及生态对接能力,其中就包含对简单类型的内置反对、UDF/UDAF 的优化、Hadoop/Spark 生态圈对接能力欠缺、数据湖和联邦查问能力的强化、管控平台的欠缺等社区呼声最高的性能,从而帮忙 Doris 变得更加弱小和易用。除此之外,Doris 依然有很多值得欠缺的中央,咱们非常违心聆听用户的心声,并欢送大家多提 issues,与咱们一道帮忙 Doris 倒退的更好。
在社区建设方面,ApacheDoris 曾经度过了晚期萌芽阶段,正在进入高速发展期。一方面,咱们要进一步强化社区的经营投入,让 Doris 能被更多的贡献者、开发者以及用户等所晓得,致力构建一个多元、凋敝和国际化的社区;另一方面,随着社区的扩张,以及商业诉求的增长,咱们将建设或欠缺社区的各项规章制度和行为准则,让各方都能在 ApacheWay 的领导下参加社区,保障 Doris 社区可能良性和衰弱的倒退。
在商业方面,咱们也在围绕 ApacheDoris 继续欠缺咱们的商业产品“PALO 数据仓库”。相比开源的 Doris 引擎,PALO 数据仓库将提供大规模生产级的稳定性、欠缺的企业级个性、易用的管控和拜访平台、无感降级等专有个性,用户也将享受到来自原厂资深专家的业余技术支持服务。除此之外,咱们全新推出的 PALOCloud 产品将反对先进的多云原生能力,提供欠缺的云原生,以及多云和跨云能力,帮忙用户拥抱云和多云时代。同时,PALOCloud 的在离线交融、湖仓交融等能力将帮忙用户构建以数据为核心的新一代全场景对立湖仓,为企业提供数据的对立视图、对立拜访,真正开释数据的价值,正如 PALO 的寓意那样可能“玩转 OLAP”。