Skipping Cloud Vendor SDKs: How ScopeDB Accesses Object Storage with Apache OpenDAL
ScopeDB is a columnar database built in Rust on cloud object storage for high-volume event workloads such as operational logs, product events, and AI agent traces. ScopeDB has used Apache OpenDAL since our very first version in 2024, and in production we have run single-cluster workloads exceeding 10 PB. Today, we want to share why we chose OpenDAL from day one, how we use its interfaces and layers in practice, and what we have learned running analytical I/O across cloud object stores.
In an object-storage-first database, query latency is primarily driven by columnar projection, index pruning, and multi-tier local caching, while elastic scaling comes from separating stateless compute nodes from durable data. Even so, the database is constantly reading from and writing to object storage. Queries fall back to primary storage on cache misses, while ingestion, background compaction, distributed stage exchange, and data cleanup hit object storage directly. Rather than wrestling with verbose cloud vendor SDKs in Rust, ScopeDB uses Apache OpenDAL as a clean, reliable layer for primary storage access.
