官宣:OpenDAL 成功进入 Apache 孵化器
2023 年 2 月 27 日,OpenDAL 项目顺利通过投票,正式进入全球顶级开源软件基金会 —— Apache 软件基金会(ASF)的孵化器(Incubator),成为 ASF 的一个孵化项目(podling)。在 3 月 15 日,OpenDAL项目正式移交到 Apache 软件基金会名下。
这是 Databend 团队在开源社区的一个重要里程碑,也是开源社区对 OpenDAL 的技术和理念的一次认可和支持。
Apache 孵化器成立于 2002 年10月,为那些意图成为 Apache 基金会努力的一部分的项目和代码库,提供一个进入到 Apache 软件基金会的路径。孵化器项目需要践行 ASF 的治理和运营方式,并使用 ASF 提供的基础设施和资源。孵化器项目需要经过一系列的阶段和评估,才能最终毕业成为 ASF 的顶级项目(TLP)。
https://incubator.apache.org/projects/opendal.html
什么是 OpenDAL
数据是未来最重要的资产之一,而数据访问是数据价值实现的关键环节。
市场上存在着各种各样的存储服务,每个服务都有自己独特的接口和特性,给数据访问带来了很多复杂性和不便。
OpenDAL 提供一个统一、简单、高效、可靠、可观察的数据访问层,让开发者可以无缝地使用不同的存储服务,并享受到最佳的用户体验。
OpenDAL 不仅简化了不同存储服务的接口,还提供自动重试、请求优化和可观察性等特性。开发者只需要使用 OpenDAL 就可以无痛访问数十种存储服务,而无需了解和掌握特定 SDK 的细节。
OpenDAL 的特性包括但不限于:
- 支持多种存储服务,包括本地文件系统、HDFS、S3、OSS 数十种服务等。
- 提供统一的数据访问接口,无需关心底层存储细节。
- 支持多种常用数据操作,包括
read
、write
、list
等。 - 支持自动重试、请求优化、可观察性机制。
- 零成本,直接映射到 API 调用。
- 跨语言 bindings: Python, Node.js, C (working on) 等
OpenDAL 的历史、发展与现状
历史:从 dal2 到 OpenDAL
OpenDAL 的初衷是打造一个通用、统一、易用的数据访问层,它诞生于 2021 年末,最开始是作为 Databend 项目的一部分进行开发的。
- 2021 年 12 月 21 日,Xuanwo 开始着手构想 Databend 存储访问层的设计与实现,dal2: Add basic operations of read, write, stat, delete
- 2021 年 12 月 27 日,开始对 proposal: Vision of Databend DAL 这一提案的讨论。29 日,dal2 的实现被合并到 Databend 中。
- 2022 年 2 月 14 日,dal2 正式从 Databend 的代码仓库中迁出,成为独立维护的顶级项目,并正式更名为 OpenDAL 。
发展:从 1 到 +1
在 Xuanwo 、ClSlaid 和其他众多贡献者的推动下,OpenDAL 很快就成为了支持 AWS S3 / Azure Blob / GCS / HDFS 等主流国内外存储服务的数据访问层,并为 Databend 的 COPY INTO
、Stage、Storage 提供真正的跨多云云原生存储与访问支持。
GreptimeDB 是 Databend 之后第一个主动使用 OpenDAL 的大型 Rust 数据库项目,之后,在 Xuanwo 的努力下,Mozilla 基金会旗下的 sccache 也尝试使用 OpenDAL 来接管存储层,为了提供更全面的支持,OpenDAL 很快上线了对 GitHub Action Cache 的支持。
随后是 RisingWave 和 Vector ,OpenDAL 的用户阵营开始实现从 1 到不断 +1 的转变。
现状:向星辰大海前进
目前 OpenDAL 已初步建立起了一个小型社区并形成产品矩阵,除 Rust 主代码以外,目前还提供有 Python 和 Nodejs 绑定。
OpenDAL 自开源以来累计发版 99 次,Github Star 700+, 累计下载次数 349 K, 累计开发者共计 48 位,项目一直处于活跃更新状态,由衷感谢每位贡献者的努力和付出。
加入 Apache 孵化器是 OpenDAL 发展历程中的一个重要里程碑,我们希望能够借助 ASF 的平台和资源,让 OpenDAL 专注于提供中立、无供应商锁定、自由、无痛、高效的存储访问层,更好地为广大开发者服务。
我们期待 OpenDAL 能够在以下几个应用场景得到更广泛的应用:
- 数据分析:OpenDAL 可以帮助数据分析师快速地从不同的存储服务中读取或写入数据,并进行各种格式转换和操作。
- 数据科学:OpenDAL 可以帮助数据科学家轻松地从不同的存储服务中获取或保存数据,并进行各种预处理和后处理。
- 数据工程:OpenDAL 可以帮助数据工程师高效地构建和管理不同的存储服务之间的数据流水线,并进行各种监控和调优。
致谢
From Xuanwo
大家好,我是 Apache OpenDAL Committer Xuanwo。
OpenDAL 项目凝聚着我个人一直以来的梦想,如今在社区的通力协作下走进了 Apache 孵化器,我此刻感到非常的幸福。感谢所有贡献者的付出,感谢 Databend Labs 的支持,感谢 Champion tison 的指引,感谢各位 Mentor ningjiang, wusheng, tedliu 和 hexiaoqiao 的指导。
让我们遵循 Apache Way 的指引,共同构建社区并创造价值,为用户提供自由、无痛和高效的数据访问体验!
加入我们
欢迎有兴趣参与 OpenDAL 项目的开发者和用户加入 OpenDAL 社区,并关注 OpenDAL 的最新动态。你可以通过以下方式获取更多信息:
- 访问 OpenDAL 官方网站:https://opendal.apache.org
- 探索 OpenDAL GitHub 仓库:https://github.com/apache/incubator-opendal
- 加入 OpenDAL Discord 频道:https://discord.gg/XQy8yGR2dg
- 订阅 OpenDAL 邮件列表:dev@opendal.apache.org

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
技术分享 | 前端进阶:如何在 Web 中使用 C++?
这是一个关于矩形排样问题和 WebAssembly 初体验的故事,但一切还要从不学无术的小学妹说起…… 1. 问题起因 小学妹的课题需要写一个程序解决矩形排样(即二维矩形装箱)问题。 根据给定的一系列矩形,需要将它们打包到指定大小的二维箱子中,且要求任意两个矩形不能相交或包含。 问:如何排列矩形可使需要的箱子数量最少,且利用率最大? 这是一个极具现实意义的问题,在工业应用中非常重要,排样结果与经济利益密切相关。 同时,这也是一个NP-Hard问题——既无法通过一个简单公式计算,也不可能将所有情况枚举(超级计算机也算不过来)。 2. 解决思路 小学妹不学无术,而我对算法一窍不通,因此只好借前人经验遮荫避凉。历经重重曲折,终于找到一个 RectangleBinPack 库。它提供了一篇介绍二维矩形装箱问题的各种算法的文章,以及各种算法的具体实现。 对算法感兴趣的伙伴可以自行获取 Wasm 仓库中的《算法介绍》文件了解。 Wasm 仓库传送器:https://github.com/ununian/RectangleBinPack-Wasm 目前了解到,解决二维矩形装箱问题有 4 种算法,分别...
- 下一篇
基于声网 Flutter SDK 实现互动直播
前言 互动直播是实现很多热门场景的基础,例如直播带货、秀场直播,还有类似抖音的直播 PK等。本文是由声网社区的开发者“小猿”撰写的Flutter基础教程系列中的第二篇,他将带着大家用一个小时,利用声网 Flutter SDK 实现视频直播、发评论、送礼物等基础功能。上一篇介绍了如何实现多人视频互动。 开发一个跨平台的的直播的功能需要多久?如果直播还需要支持各种互动效果呢? 我给出的答案是不到一个小时,在 Flutter + 声网 SDK 的加持下,你可以在一个小时之内就完成一个互动直播的雏形。 声网作为最早支持 Flutter 平台的 SDK 厂商之一, 其 RTC SDK 实现主要来自于封装好的 C/C++ 等 native 代码,而这些代码会被打包为对应平台的动态链接库,最后通过 Dart 的 FFI(ffigen) 进行封装调用,减少了 Flutter 和原生平台交互时在 Channel 上的性能开销。 开始之前 接下来让我们进入正题,既然选择了 Flutter + 声网的实现路线,那么在开始之前肯定有一些需要准备的前置条件,首先是为了满足声网 RTC SDK 的使用条件,开发环...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- Mario游戏-低调大师作品
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 2048小游戏-低调大师作品