OpenDAL
A unified data access layer providing a single API for accessing 40+ storage backends including S3, GCS, Azure Blob, HDFS, and local filesystem. An Apache Incubating project.
Summary
A unified data access layer providing a single API for accessing 40+ storage backends including S3, GCS, Azure Blob, HDFS, and local filesystem. An Apache Incubating project.
OpenDAL is the portability layer for storage-agnostic applications. Instead of coding against each storage backend's API, applications use OpenDAL's unified interface — enabling true multi-cloud and hybrid storage without rewriting data access code.
- OpenDAL is not a storage system. It is an abstraction layer. Performance, consistency, and durability depend entirely on the underlying backend.
- Abstraction layers add latency overhead. For performance-critical paths, direct SDK access may be necessary. Benchmark against your requirements.
solvesVendor Lock-In — single API for multiple storage backendssolvesS3 Compatibility Drift — abstracts away differences between S3-compatible providers
Definition
A unified data access layer providing a single Rust/Python/Java/Node API to access 40+ storage services including S3, GCS, Azure Blob, HDFS, and local filesystem.
Applications that need to be storage-agnostic must maintain separate client integrations for each provider. OpenDAL abstracts storage backends behind a single interface, enabling true multi-cloud and hybrid storage portability.
Multi-cloud storage abstraction, storage-agnostic data pipelines, vendor-portable analytics engines, testing against local storage with production-like S3 semantics.
Connections 4
Outbound 4
scoped_to2Resources 3
Apache OpenDAL project homepage for this unified data access layer supporting S3 and 40+ storage services.
OpenDAL source repository with the Rust core and bindings for Python, Java, Node.js, and more.
OpenDAL documentation overview covering architecture, operator configuration, and supported storage backends.