Apache Doris 社区 PMC 杨政国:开源项目如何在自身和社区的需求中取得平衡?

首先要搞清楚的问题是开源项目的需求到底是从何而来?很多开源项目最早其实都是来自于某个公司的内部产品,在项目发展的早期阶段项目大多数的核心贡献者可能都来自于这个公司,他们除了负责开源项目以外,也负责公司内部产品的研发和运维等等工作,那在这种情况下我们可以认为项目的自身需求其实很大程度上取决于公司内部的需求,这样就有可能会和社区的需求产生矛盾。

比如说 Apache Doris 它最早是起源于百度公司,最初的贡献者也多数来自于百度公司。Doris 是作为一款 MPP 的分析型数据库产品,它在使用过程中必然就会有数据的导入导出、备份恢复等等需求。因为 Doris 本身存储的数据量可能是非常巨大的,所以它就需要和外部的分布式文件系统做交互。

那在百度内部它的分布式文件存储主要有 3 种:第一种是百度版的 HDFS,然后还有 AFS 和 BOS。其中百度版的 HDFS 和社区的类似但是它并不兼容,做了一些安全等等的改进;AFS 是百度自研的分布式文件系统,它相比 HDFS 能够支撑更大的容量,能够有更高的效率;BOS 是百度自己的对象存储系统gnss,他们的访问方式在社区没有对应的实现,其实也不便于开源,即使百度内部的 HDFS 它和社区的库也是相互不兼容的,但是社区也有同样的需求,他们也需要去对数据进行导入导出。他们的使用可能更多的是开源版的 HDFS,像如果镜像存储的话可能用的是 S3 的镜像存储等等。

因此我们实现了一个读取外部数据的组件叫做 Broker,它实现了一套独立的文件读取和写入的接口,在我们百度内部和开源社区分别维护了实现不同的版本,但他们使用相同的文件读写接口,这样解决了社区和内部需求的矛盾问题,另外随着社区的发展我们更进一步直接实现了原生的 HDFS 和 S3 的读取和写入功能,更加方便了社区用户的部署和使用;

还有一种情况就是项目本身来源社区或者社区都发展到一个比较成熟的阶段,这种情况下其实项目本身的需求本来就应该来自于社区imu,社区是最主要的目标用户同时也是最直接的需求来源,如果一个项目长期地偏离于社区的需求那我觉得这个项目也不可能走的太远。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值