统一数据访问层 多语言多服务高效集成
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
。