apache/opendal

GitHub: apache/opendal

Apache OpenDAL 是一个开放数据访问层,旨在通过统一的 API 让应用程序能够无缝访问各类存储服务。

Stars: 5003 | Forks: 732

# Apache OpenDAL™:*One Layer, All Storage.* [![](https://img.shields.io/github/discussions/apache/opendal)](https://github.com/apache/opendal/discussions) [![](https://img.shields.io/discord/1081052318650339399?logo=discord&label=discord)](https://opendal.apache.org/discord) [![](https://deepwiki.com/badge.svg)](https://deepwiki.com/apache/opendal) OpenDAL (`/ˈoʊ.pən.dæl/`, 发音为 "OH-puhn-dal") 是一个开放数据访问层,能够与各种存储服务进行无缝交互。 OpenDAL 的开发由 **One Layer, All Storage** 的愿景及其核心原则指导:**Open Community**(开放社区)、**Solid Foundation**(坚实基础)、**Fast Access**(快速访问)、**Object Storage First**(对象存储优先)和 **Extensible Architecture**(可扩展架构)。请阅读 [OpenDAL Vision](https://opendal.apache.org/vision) 了解愿景详情。 OpenDAL Architectural ## 适用于 *ANY* 语言 | Name | Release | Docs | Used By | | ----------------- | ------------------------------------------------ | --------------------------------------------------------------------------------- | ----------------------------------- | | [Rust Core] | [![Rust Core Image]][Rust Core Link] | [![Docs Release]][Rust Core Release Docs] [![Docs Dev]][Rust Core Dev Docs] | [![Rust Core Users Image]][Rust Core Users] | | [C Binding] | - | [![Docs Dev]][C Binding Dev Docs] | [![C Binding Users Image]][C Binding Users] | | [Cpp Binding] | - | [![Docs Dev]][Cpp Binding Dev Docs] | - | | [D Binding] | - | - | - | | [Dart Binding] | - | - | - | | [Dotnet Binding] | - | - | - | | [Go Binding] | [![Go Binding Image]][Go Binding Link] | [![Docs Release]][Go Release Docs] | - | | [Haskell Binding] | - | - | - | | [Java Binding] | [![Java Binding Image]][Java Binding Link] | [![Docs Release]][Java Binding Release Docs] [![Docs Dev]][Java Binding Dev Docs] | [![Java Binding Users Image]][Java Binding Users] | | [Lua Binding] | - | - | - | | [Node.js Binding] | [![Node.js Binding Image]][Node.js Binding Link] | [![Docs Dev]][Node.js Binding Dev Docs] | - | | [OCaml Binding] | - | - | - | | [PHP Binding] | - | - | - | | [Python Binding] | [![Python Binding Image]][Python Binding Link] | [![Docs Dev]][Python Binding Dev Docs] | [![Python Binding Users Image]][Python Binding Users] | | [Ruby Binding] | - | - | - | | [Swift Binding] | - | - | - | | [Zig Binding] | - | - | - | ## 适用于 *ANY* 方法 | Name | Description | Release | | ----- | ------------------------------------------------------------------ | ------------------------- | | [oli] | 通过命令行访问数据(s3cmd, s3cli, azcopy 的替代方案) | [![oli image]][oli crate] | | [ofs] | 通过 POSIX 文件系统 API 访问数据(s3fs 的替代方案) | [![ofs image]][ofs crate] | ## 适用于 *ANY* 集成 | Name | Description | Release | Docs | | ---------------------- | ----------------------------------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------------------------------- | | [dav-server-opendalfs] | 使用 opendal 实现的 [dav-server-rs]。 | [![dav-server image]][dav-server crate] | [![Docs Release]][dav-server release docs] [![Docs Dev]][dav-server dev docs] | | [object_store_opendal] | 使用 opendal 实现的 [object_store]。 | [![object_store image]][object_store crate] | [![Docs Release]][object_store release docs] [![Docs Dev]][object_store dev docs] | | [unftp-sbe-opendal] | 使用 opendal 实现的 [unftp] 存储后端。 | [![unftp-sbe image]][unftp-sbe crate] | [![Docs Release]][unftp-sbe release docs] [![Docs Dev]][unftp-sbe dev docs] | | [parquet_opendal] | 提供用于 [`parquet`](https://crates.io/crates/parquet) 的高效 IO 工具 | [![parquet image]][parquet crate] | [![Docs Release]][parquet release docs] [![Docs Dev]][parquet dev docs] | ## 适用于 *ANY* 服务 | Type | Services | | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------- | | Standard Storage Protocols | ftp http [sftp] [webdav] | | Object Storage Services | [azblob] [cos] [gcs] [obs] [oss] [s3]
[b2] [openstack_swift] [upyun] [vercel-blob] | | File Storage Services | fs [alluxio] [azdls] [azfile] [compfs]
[dbfs] [gridfs] [hdfs] [hdfs-native] [ipfs] [webhdfs] | | Consumer Cloud Storage Service | [aliyun-drive] [gdrive] [onedrive] [dropbox] [koofr]
[pcloud] [seafile] [yandex-disk] | | Key-Value Storage Services | [cacache] [cloudflare-kv] [dashmap] memory [etcd]
[foundationdb] [persy] [redis] [rocksdb] [sled]
[redb] [tikv] | | Database Storage Services | [d1] [mongodb] [mysql] [postgresql] [sqlite] [surrealdb] | | Cache Storage Services | [ghac] [memcached] [mini-moka] [moka] [vercel-artifacts] | | Git Based Storage Services | [huggingface] | ## 示例 示例可在[此处](./examples/)查看。 ## 文档 文档可在 获取。 ## 贡献 OpenDAL 是一个活跃的开源项目。我们随时欢迎想要使用或参与贡献的人。以下是一些参与方式。 - 从 [Contributing Guide](CONTRIBUTING.md) 开始。 - 提交 [Issues](https://github.com/apache/opendal/issues/new) 以报告错误或请求功能。 - 发起 [Discussions](https://github.com/apache/opendal/discussions/new?category=q-a) 进行提问或分享想法。 - 直接在 [Discord](https://opendal.apache.org/discord) 上与社区交流。 - 将安全漏洞报告至 [private mailing list](mailto:private@opendal.apache.org) ## 品牌使用 在任何个人使用场景(网页、讲义、幻灯片等)中,首次且最显著的提及必须使用全称:**Apache OpenDAL™**。根据上下文和写作风格,您应足够频繁地使用名称的全称,以确保读者清楚地了解 OpenDAL 项目和 OpenDAL 软件产品与作为其父组织的 ASF 之间的关联。 更多详情,请参阅 [Apache Product Name Usage Guide](https://www.apache.org/foundation/marks/guide)。 ## 许可证和商标 根据 Apache License, Version 2.0 许可: Apache OpenDAL、OpenDAL 和 Apache 是 Apache Software Foundation 的注册商标或商标。
标签:Apache, Apache OpenDAL, Bing搜索, C Binding, Cpp Binding, D Binding, JS文件枚举, MITM代理, Rust, S3, 中间件, 云存储, 分布式存储, 可视化界面, 存储抽象, 对象存储, 开发库, 开源, 数据互操作性, 数据访问层, 文件系统, 日志审计, 统一存储, 网络流量审计, 跨语言, 逆向工具