共计 5818 个字符,预计需要花费 15 分钟才能阅读完成。
在国内领有 2500+ 中大型企业用户,用户社群汇集开发者超 3 万人,沉闷贡献者数间断数月稳居寰球大数据开源我的项目排行榜第一。毋庸置疑,Apache Doris 已成为全国数据库和大数据畛域最为沉闷的开源我的项目之一。Apache Doris 历经近十年的倒退,为何还能持续保持竞争力和生机?其背地的外围推动力又是什么?
在 QCon 寰球软件开发大会·北京站的现场,基于 Apache Doris 的商业化公司飞轮科技的 CEO、Apache Doris 我的项目创始人 & PMC 马如悦承受了采访。马如悦曾在百度负责过分布式计算团队、大数据工程团队和 AI 产品工程团队的技术负责人,还主导设计和开发了实时数仓 Apache Doris。他对于 Apache Doris 的技术倒退路线以及实时数仓的将来倒退有着更加粗浅的认知。
Q1:作为一名深耕数据库畛域多年的从业者,您察看到企业对于数据仓库的需要点次要集中在哪方面?
马如悦:纵观数据仓库的倒退历程,数据仓库的演进经验了三个阶段,第一阶段,即在 2010 年之前,传统数据仓库解决方案包含 Teradata、Greenplum、IBM Netezza 来解决大数据问题。第二阶段,约在 2010 年左右,随着谷歌三驾马车的问世,人们逐渐开始应用 Hadoop 大数据平台进行数据分析。现在曾经进入了第三阶段,现代化的数据仓库产品开始涌现,这些产品联合了传统数据仓库的可靠性和性能劣势,同时具备了对大数据的高效解决和实时剖析能力。
作为一个残缺经验了第二代大数据平台历史的从业者,在百度晚期我次要负责 Hadoop 和 Spark 相干的工作,起初主导设计了 Doris 并将 Doris 奉献至 Apache 基金会。咱们认为第三代数据平台的次要特点是实时化、架构的交融统一化以及云原生化。
随着业务需要的一直增长,企业对数据的实时性要求也越来越高,现代化数据仓库须要具备高速的数据处理和剖析能力,可能实时响应和解决大规模数据流。同时,企业越来越偏向于将数据存储和剖析工作迁徙到私有云 / 公有云 /K8s 上,因而现代化数据仓库须要反对云原生架构,具备弹性伸缩、自动化治理和云端部署的能力,以适应云计算环境的需要。除此之外,我认为交融对立是也是现代化数据仓库外围的特色。在大数据畛域,存在泛滥的零碎和组件,它们往往在架构中扮演着不同的角色。而随着时代的提高,架构“减负”已成为企业倒退的重要指标,因而像交融数据库、超交融数据库、湖仓一体、流批一体等具备“交融对立”特色的数据库开始涌现。结合实际倒退来看,过来几年,事务数据库已出现显著的交融趋势,像 OceanBase、TiDB 以及 PolarDB 等新一代 NewSQL 事务数据库曾经呈现。同样地,数据仓库走到明天,交融对立也是必经之路。
这些特点其实也就是企业对于实时数据仓库的实在需要,也是 Apache Doris 在过来几年来广受认可的重要起因。
Q2:近期,咱们关注到飞轮科技发表将企业产品 SelectDB Cloud 云原生存算拆散架构奉献到 Apache Doris 社区。在云原生存算拆散架构的研发过程中,团队遇到过最大的技术难题是什么?又是通过什么形式解决的?
马如悦:有很多人之前就问到 Apache Doris 为什么没有实现存算拆散,是因为技术太难了吗?理论不然,存算拆散相比于存算一体来说更容易实现,存算拆散依赖 HDFS、云上对象存储这样的共享存储系统,在设计实现时无需在存储层有太多投入,只需专一于计算层的实现即可。
那么回到问题自身,咱们在云原生存算拆散架构的研发过程中遇到了哪些问题:
一是如何实现存储和计算的状态剥离。在存算拆散架构下,计算节点不再存储主数据,而是将共享存储层作为对立的数据主存储空间,这样计算节点能够做到无状态,能够实现齐全关机,同时可实现更便捷的数据共享,不同的集群之间以及不同的仓库能够便捷地进行数据共享。
二是如何解决读取效率降落问题。存算拆散依赖从网络上读取存储系统的数据来进行计算,在肯定水平上会造成计算性能的降落,为了解决这一问题,咱们利用 SSD 提供高速缓存来应答底层对象存储系统性能不佳和网络传输带来的性能降落。其次咱们在存算拆散模式下,提供了同一个仓库多个物理计算集群的隔离形式。计算集群能够独立扩缩容,其计算节点的本地高速缓存都是隔离的,这样尽可能保障了比拟好的隔离性,从而防止集群间的影响,保障整体计算性能不降落。
三是解决对象存储读取带宽限度的问题。当用户购买私有云之后,云厂商会为每个企业账号分配资源配额,并提供对象存储拜访平台供用户拜访。然而咱们作为一家软件服务商,咱们心愿产品可能被上万家甚至更多的企业应用,这就须要更多的带宽资源。过来,大部分云厂商都是间接服务终端用户,很少针对咱们这类型的软件服务商做设计。而通过咱们与各大云厂商的踊跃沟通,曾经争取到了更大的带宽资源配合,足以满足以后各企业的需要。
此外,平安问题也是企业十分关怀的问题。对于数据安全和合规性有着更高要求的企业,心愿在享受自动化治理个性的同时,可能将数据寄存在本人的账号下进行管控。因而,SelectDB 预计在 9 月底推出云上的一种新的产品状态,这款新的产品状态将实现数据面在客户账户,而管控面依然在咱们账户运行,这能够很好满足相干行业对数据安全治理的要求。
Q3:抉择将存算拆散架构奉献回开源社区,这一决策的出发点是什么?
马如悦:在答复这个问题之前,我想先分享一些我的所见所知。做开源的公司个别都会遇到这个经典的发问:云厂商会不会收费用你的代码来进行托管赚钱?
过来几年,咱们察看到 MongoDB、Redis、ElasticSearch 等我的项目在一直变更许可证,但我认为这些调整无奈解决基本问题,云厂商并不会因为许可证的扭转而抉择必须与这些我的项目单干,反而可能会推动他们本人开发与之兼容的产品。例如亚马逊云科技就推出了 DocumentDB、OpenSearch,这反而加剧了竞争场面。
咱们的路线与之齐全不同,咱们致力于构建更加凋谢的生态系统。相比于和云厂商进行存量竞争,咱们更违心与云厂商携手单干,独特扩大市场。咱们的指标是将蛋糕做得更大,让整个市场蓬勃发展。咱们心愿将 Apache Doris 打造成 AP 畛域事实上的“MySQL”,只有 Apache Doris 胜利了、做大了,全面拥抱 Doris 的所有商业厂商都能获益。咱们只有致力保障咱们的商业产品有足够的竞争力,能在市场上霸占足够大的份额,咱们的收益也是最大的。所以,咱们抉择了一个更凋谢的路线,与各家云厂商敞开怀抱单干,有竞争有单干。这种单干共赢的态度将促成整个生态系统的衰弱倒退。
那么话说回来,如何才算更加凋谢?举一个简略的例子,当咱们买通上下游生态时,咱们是应该买通 Apache Doris 还是 SelectDB?许多人可能会认为,作为一家商业公司,咱们应该买通 SelectDB,而我认为这种思路是不正确的。实际上咱们破费了很多精力来帮忙所有的上下游买通 Doris,这样当用户无论应用哪一家基于 Doris 开发的商业散发版的厂商都能顺利应用。这样一来,上下游厂商也更有能源去买通 Apache Doris,云厂商也违心继续拥抱 Apache Doris 社区,宽广的用户也能不被任何一个商业公司锁定,因为大家都恪守了 Apache Doris 的开源规范,也就不须要去学习每家商业厂商的不同。所以 一旦秉着凋谢的心态做事,不是两方、三方共赢,而是所有方共赢。
回到最后的发问,飞轮科技抉择将存算拆散架构奉献给 Apache Doris 社区,其本质目标也是为了进一步让更多用户收益,如果大家都须要,咱们就心愿在内核层面提供反对,而不是心愿各家散发商提供本人的实现,而后造成将来这块各方产品的不统一。而在这样的背景下,用户也能够取得兼容性更好、性价比更高的产品应用体验。
Q4:对于 Apache Doris 社区用户而言,新的存算拆散架构在应用上有什么差别?如果用户想从存算一体的架构切到存算拆散的架构,迁徙形式与迁徙老本是怎么的?
马如悦:Apache Doris 在国内有大概 2500 家企业应用,任何一个性能不兼容的问题都会对宽泛的用户产生重大影响。因而,咱们必须认真思考企业降级的问题。因而,当 Apache Doris 推出存算拆散架构时,咱们十分审慎地进行布局。目前,咱们采取逐渐迭代的形式,以确保最大水平地爱护已有大量用户的利益。
在 Apache Doris 2.0 中,咱们开始引入局部存算拆散的能力,来解决大多数用户所面临存储老本昂扬和计算弹性有余的问题。通过冷热数据分层(Tiered Storage),能够把将冷数据下沉到存储老本更加低廉的对象存储中。其次还引入了无状态的计算节点 Compute Node,Compute Node 不保留任何本次持久数据,在集群扩缩容时无需进行数据分片的负载平衡,因而在数据湖剖析这种具备显著顶峰的场景中能够灵便扩容、疾速退出集群摊派计算压力。尽管这个版本并不没有实现纯正的存算拆散,但曾经能解决用户许多问题。
在行将公布的社区 2.1 版本中,会公布更加彻底的存算拆散架构。该版本将采纳两种模式之一运行:存算一体的部署模式和存算拆散的部署模式。在两种模式下运行的 Apache Doris 将以不同的形式来存储主数据。从用户应用体验上而言,绝大部分性能都是统一的,然而也会因为实现架构和部署模式的不同,带来一些性能细节上的差别。如果用户想要应用这个版本,就须要在搭建集群之初明确采纳哪种模式。
咱们也打算在明年,更进一步优化存算一体和存算拆散的交融过程,为用户提供更加丝滑的架构切换体验。
Q5:当初市场上数据库产品越来越多,您感觉对于飞轮科技这家公司来说,咱们的时机和挑战别离是什么?
马如悦:放眼寰球,中国数据库市场能够说是竞争最为强烈的。寰球大概有五六百款数据库产品,而仅中国市场就占据了其中的两到三百款,这足以表明中国数据库市场的多样性和竞争水平。
面对如此强烈的竞争压力,咱们最大的挑战是如何在泛滥企业中继续保有外围竞争力,这与将来数据仓库的发展趋势密切相关。正如前文所述,咱们认为以后数据仓库将来的发展趋势肯定是朝着实时剖析、交融对立和云原生化剖析方向倒退的。而在这三个方面,我认为咱们是国内目前绝对当先、且了解较为粗浅的厂商。
以湖仓交融体系为例,很多厂商也都在谈本人的湖仓交融,词是一个词,然而每个厂商落地到产品上就会不一样。Apache Doris 社区有本人的求实了解。Apache Doris 曾经提供了高性能的计算引擎,使企业可能灵便地查问数据湖中的计算格局。同时,Apache Doris 还能够作为一个凋谢的数据湖,提供更加原生的能力,被其余查问引擎高速查问,目前为止,同类数据库产品中这一点只有 Apache Doris 在践行。
由此可见,实时剖析、交融对立和云原生化这三个个性对于咱们来说,不仅仅是一个概念,更是一个理论可行的指标。在大模型技术异样炽热的明天,有很多人问为什么不做向量数据库的反对。一方面,咱们对于向量化数据库这个垂直畛域的了解还不够透彻,更不会因为热度而脱离主力指标倒退方向;另一方面,Apache Doris 曾经领有宏大的用户群体,咱们更偏向于将现有问题解决好,动摇地将上述提到的三个个性做扎实,这就足以满足大多数用户的需要。
Q6:去年亚马逊云科技在 re·Invent 提出的“Zero-ETL”,要解决什么问题?飞轮科技是否会有相应的布局?
马如悦:在数据基础设施中,次要蕴含事务数据库和剖析数据库(数据仓库)两类,Zero-ETL 更多是让两者间的数据可能疾速导入和贯通。
我认为 Zero-ETL 的呈现给出了这个畛域另一个问题的可能答案。很长时间,人们始终在议论 HTAP,特地是以 OceanBase、TiDB、PolarDB 等以 TP 为主的厂商。这些零碎以 TP 为主,但也声称能解决 AP 的问题。从这么多年来实际来看,大量用户更违心采纳相似 MySQL/Oracle + Apache Doris 的组合计划。而 Zero-ETL 的呈现也正是同样的思路,提供了实现 HTAP 另外的一种抉择,它不认同要在一套零碎里同时解决 TP 和 AP 的做法,而是能够采纳疾速地将 TP 的数据同步到 AP 中的计划。Zero-ETL 通过优化 TP 和 AP 买通的更好体验,提供了 HTAP 一体化的解决方案,而不是试图去在一套零碎里解决两个问题。
这与数据仓库的实时剖析能力有很大关系。举例来说,对于事务数据库来说,上游 TP 数据库的增删改操作心愿能在在秒级以内同步至 AP 数据库,并且心愿可能在 AP 数据库中立刻查问剖析。如果让 TP 的数据以 ETL 的形式进入 AP,数据处理链路的减少,势必造成数据进入数仓的速度也会随着变慢,整体可见性将受到影响。同时,因为越来越多的数据分析需要无奈提前预知,所以剖析前的预处理也变得无奈提前布局,数仓能力的加强,也使得数据能够疾速进入,而后在查问时按需对数据进行转化解决即可。现代化数据仓库提供实时剖析能力,就须要相似 Zero-ETL 这样的计划,将 TP 数据库数据以秒级的速度高效同步到数据仓库零碎中,以供相似 Apache Doris 进行高效解决和剖析。
飞轮科技与阿里云单干的面向 Apache Doris 的阿里云云原生服务产品(阿里云 SelectDB 版本),曾经在 8 月 20 日进行邀测,预计在 9 月底进行公测,其中也包含相似于 Zero-ETL 的解决方案。用户应用阿里云的 MySQL 或者 PolarDB 来作为事务数据库后,只需进行适当配置,数据就能够立刻同步到阿里云上的 SelectDB 中,从而实现 TP 和 AP 数据库之间更好的协同工作。
写在最初
在采访最初,马如悦强调:“很多人问大数据分析畛域有没有更新的黑科技了,理论到当初,大数据分析这个畛域不是产品太少,黑科技太少,而是太多太简单了。Hadoop 逐步被代替最次要的起因是组件过于简单,而过来数据仓库畛域也涌现出了太多的新概念,咱们接下来更心愿把产品做得更简略、对立。”在他看来,Apache Doris 是否在将来稳居大数据我的项目第一梯队,并不是依附更多的组件更多的性能,而是要动摇的专一于实时剖析、交融对立和云原生化,将产品做到极致,让数据分析疾速简略。
“实时剖析、交融对立以及云原生化”,是马如悦在采访过程中一直强调的三个关键词。咱们也很乐于看到,将来在飞轮科技的继续引领下,Apache Doris 可能继续朝着以上三个指标迭代,一直升高企业应用数据系统的复杂度。