
统一数据访问层 多语言多服务高效集成
OpenDAL是开源的统一数据访问层,支持多种编程语言和存储服务。它覆盖标准存储协议、对象存储、文件存储、云存储、键值存储、数据库和缓存等多种服务,提供高效的数据获取能力。OpenDAL简化了开发流程,提高了数据操作效率,是一个全面的数据访问解决方案。
OpenDAL提供了一个统一的数据访问层,使用户能够无缝高效地从不同的存储服务中检索数据。我们的目标是为任何语言、方法、集成和服务提供全面的解决方案。
<img src="https://yellow-cdn.veclightyear.com/835a84d5/a5bb1071-a5d4-4b45-b203-ae83b727a9ad.png" alt="OpenDAL架构" width="61.8%" />| 名称 | 发布 | 文档 |
|---|---|---|
| Rust核心 | ||
| C绑定 | - | |
| Cpp绑定 | - | |
| Dotnet绑定 | - | - |
| Go绑定 | - | - |
| Haskell绑定 | - | - |
| Java绑定 | ||
| Lua绑定 | - | - |
| Node.js绑定 | ||
| Ocaml绑定 | - | - |
| PHP绑定 | - | - |
| Python绑定 | ||
| Ruby绑定 | - | - |
| Swift绑定 | - | - |
| Zig绑定 | - | - |
| 名称 | 描述 | 发布 |
|---|---|---|
| oay | 通过API网关访问数据 | |
| oli | 通过命令行访问数据(s3cmd、s3cli、azcopy的替代方案) | |
| ofs | 通过POSIX文件系统API访问数据(s3fs的替代方案) |
| 名称 | 描述 | 发布 | 文档 |
|---|---|---|---|
| dav-server-opendalfs | 使用opendal实现的dav-server-rs。 | ![发布文档] ![开发文档] | |
| object_store_opendal | 使用opendal实现的object_store。 | ![发布文档] ![开发文档] | |
| fuse3_opendal | 通过与fuse3集成访问数据。 | ![发布文档] ![开发文档] | |
| virtiofs_opendal | 通过与vhost-user-backend集成访问数据。 | ![发布文档] ![开发文档] | |
| unftp-sbe-opendal | 使用opendal实现的unftp存储后端。 | ![发布文档] ![开发文档] | |
| parquet_opendal | 提供parquet高效IO工具 | ![发布文档] ![开发文档] |
| 类型 | 服务 |
|---|---|
| 标准存储协议 | ftp http sftp webdav |
| 对象存储服务 | azblob cos gcs obs oss s3 <br> b2 openstack_swift upyun vercel_blob |
| 文件存储服务 | fs alluxio azdls azfile chainsafe compfs <br> dbfs gridfs hdfs hdfs_native ipfs webhdfs |
| 消费者云存储服务 | aliyun_drive gdrive onedrive dropbox icloud koofr <br> pcloud seafile yandex_disk |
| 键值存储服务 | cacache cloudflare_kv dashmap memory etcd <br> foundationdb persy redis rocksdb sled <br> redb tikv atomicserver |
| 数据库存储服务 | d1 mongodb mysql postgresql sqlite surrealdb |
| 缓存存储服务 | ghac memcached mini_moka moka vercel_artifacts |
| 基于Git的存储服务 | huggingface |
示例可在此处获取。
文档可在 https://opendal.apache.org 获取。
OpenDAL 是一个活跃的开源项目。我们始终欢迎想要使用或贡献的人。以下是一些参与方式。
sccache 是带有云存储功能的 ccache。