当前位置:网站首页>Apache Doris 社区 PMC 杨政国:开源项目如何在自身和社区的需求中取得平衡?
Apache Doris 社区 PMC 杨政国:开源项目如何在自身和社区的需求中取得平衡?
2022-08-09 16:24:00 【OSCHINA编辑部】
本期单口开源我们请到 Apache Doris社区的PMC、百度的资深研发工程师杨政国来和大家聊一聊“开源项目如何在自身和社区的需求中取得平衡?”。
单口开源栏目旨在分享开源理念与观点。
大家好,我是Apache Doris社区的PMC杨政国,同时也是百度的资深研发工程师。
今天我想要和大家分享的内容是开源项目如何平衡自身和社区需求的问题。
首先要搞清楚的问题是开源项目的需求到底是从何而来?很多开源项目最早其实都是来自于某个公司的内部产品,在项目发展的早期阶段项目大多数的核心贡献者可能都来自于这个公司,他们除了负责开源项目以外,也负责公司内部产品的研发和运维等等工作,那在这种情况下我们可以认为项目的自身需求其实很大程度上取决于公司内部的需求,这样就有可能会和社区的需求产生矛盾。
比如说Apache Doris它最早是起源于百度公司,最初的贡献者也多数来自于百度公司。Doris是作为一款MPP的分析型数据库产品,它在使用过程中必然就会有数据的导入导出、备份恢复等等需求。因为Doris本身存储的数据量可能是非常巨大的,所以它就需要和外部的分布式文件系统做交互。
那在百度内部它的分布式文件存储主要有3种:第一种是百度版的HDFS,然后还有AFS和BOS。其中百度版的HDFS和社区的类似但是它并不兼容,做了一些安全等等的改进;AFS是百度自研的分布式文件系统,它相比HDFS能够支撑更大的容量,能够有更高的效率;BOS是百度自己的对象存储系统,他们的访问方式在社区没有对应的实现,其实也不便于开源,即使百度内部的HDFS它和社区的库也是相互不兼容的,但是社区也有同样的需求,他们也需要去对数据进行导入导出。他们的使用可能更多的是开源版的HDFS,像如果镜像存储的话可能用的是S3的镜像存储等等。
因此我们实现了一个读取外部数据的组件叫做Broker,它实现了一套独立的文件读取和写入的接口,在我们百度内部和开源社区分别维护了实现不同的版本,但他们使用相同的文件读写接口,这样解决了社区和内部需求的矛盾问题,另外随着社区的发展我们更进一步直接实现了原生的HDFS和S3的读取和写入功能,更加方便了社区用户的部署和使用;
还有一种情况就是项目本身来源社区或者社区都发展到一个比较成熟的阶段,这种情况下其实项目本身的需求本来就应该来自于社区,社区是最主要的目标用户同时也是最直接的需求来源,如果一个项目长期地偏离于社区的需求那我觉得这个项目也不可能走的太远。
边栏推荐
猜你喜欢
Fees and inquiry methods of futures account opening exchanges
在 C# 中如何检查参数是否为 null
A40 - 基于51单片机的GSM模块优化设计
B44 - 基于stm32蓝牙智能语音识别分类播报垃圾桶
Functions and Features of Smart Home Control System
【机器学习】回归树生成过程及举例理解
MySQL 5.5 series installation steps tutorial (graphical version)
110+ public professional datasets summarized
消防安全培训|暑期“消防课堂”,开讲!
如何仿造一个websocket请求?
随机推荐
安装MySQL的最后一步第四个红叉怎么解决
面试官:Redis 大 key 要如何处理?
A48基于NRF24L01的无线心率血氧体温检测
聊聊基于docker部署的mysql如何进行数据恢复
期货开户交易所的手续费和查询方法
A40 - 基于51单片机的GSM模块优化设计
A49 - ESP8266建立AP传输XPT2046AD数据WIFI模块
OpenCV 图像变换之 —— 拉伸、收缩、扭曲和旋转
Arrow parquet 之 String Reader
Installation and use of Lombok plugin in IDEA
WinForm(三)揭开可视化控件的面纱
关于聊天机器人,跨境电商人必须知道这些…
The article details of the qiucode.cn website realize the code block can be copied by clicking the button
浅谈如何保证Mysql主从一致
.NET 6学习笔记(4)——解决VS2022中Nullable警告
B40 - 基于STM32单片机的电热蚊香蓝牙控制系统
基于CAP组件实现补偿事务与幂等性保障
crm系统哪家好?好用的crm管理系统推荐
不安装运行时运行 .NET 程序
B024 – STM32温湿度控制体温检测烟雾报警系统