elyase/awesome-object-storage-native

Open-source databases, application runtimes, and storage engines that use object storage for durable state, logs, indexes, or transactional datasets.

9

2 commits

updated Oct 7, 2026

See the code

See what people are saying

README

Awesome Object Storage Native Awesome

Open-source databases, application runtimes, and storage engines that use object storage for durable state, logs, indexes, or transactional datasets.

Entries are open-source implementations with a documented configuration in which object storage, such as Amazon S3, an S3-compatible service, Google Cloud Storage, or Azure Blob Storage, holds authoritative state, retained records, indexes, or transactional datasets. Some commit directly to object storage; others acknowledge writes through a separate durable tier first. Object-storage native does not mean bucket-only infrastructure: many entries also need a catalog, coordinator, or metadata database. Backup-only tools and general file-query engines are listed under Related Tools.

The comparison records object-storage backends, licenses, the role object storage plays, dependencies, and caveats for each entry. Experimental implementations are kept in a separate list.

Contents

Stateful Applications and Durable Actors

  • Celld - Self-hosted Workers applications and Durable Objects with per-object SQLite and bucket-held state.
  • Rivet Actors - Stateful actors with durable SQLite, realtime connections, queues, and S3-tiered storage; forthcoming v3 moves latency-tolerant broadcasts to S3 logs.
  • Terse Durable Actors - Stateful TypeScript and Python actors with state snapshots in Google Cloud Storage.

Streaming and Messaging

  • AutoMQ - Kafka-compatible event streaming with shared logs on S3-compatible object storage.
  • Nisshi - Kafka-compatible broker with selectable storage engines, including S3.
  • S2 Lite - Self-hostable server for the S2 durable streams API, built on SlateDB.
  • Ursa for Apache Kafka - Kafka distribution with opt-in diskless topics stored through Ursa.

Databases and Data Processing

  • Apache Druid - Real-time analytical database with durable segments in object-backed deep storage.
  • ClickHouse - Analytical database whose MergeTree tables can use S3 or Azure Blob Storage disks.
  • Embucket - DataFusion query engine with partial Snowflake compatibility and Iceberg tables in Amazon S3 Tables.
  • Neon - PostgreSQL with separated compute and storage, branching, and object-backed history.
  • RisingWave - Streaming SQL database that keeps state, tables, and materialized views in object storage.
  • XTDB - Bitemporal SQL database with object-backed storage and a separately configured transaction log.

Search and Retrieval

  • Chroma - Search database whose distributed deployment uses object-backed indexes and the wal3 log.
  • HelixDB - Graph database with vector and full-text search over SlateDB storage on S3-compatible buckets.
  • LanceDB - Embedded vector and multimodal database over Lance datasets in S3, Google Cloud Storage, or Azure Blob Storage.
  • Milvus - Vector database with collection data and indexes in object storage and a separately configured write-ahead log.
  • OpenData Vector - Early vector database with metadata filtering on SlateDB storage.

Transactional Tables and Array Datasets

  • Apache Hudi - Lakehouse tables with upserts, deletes, and incremental queries, keeping data and metadata in cloud storage.
  • Apache Iceberg - Analytical table format with object-backed files and catalog-coordinated commits.
  • Apache Paimon - Lakehouse tables for streaming updates, change data, and analytical queries.
  • Delta Lake - Transactional analytical tables with an object-backed log, also implemented natively in Rust by delta-rs.
  • DuckLake - Transactional Parquet datasets with data files in object storage and a SQL database as the catalog.
  • Icechunk - Transactional Zarr array storage with snapshots, branches, and no external catalog.

Observability

  • Grafana Loki - Log aggregation and LogQL queries over object-backed chunks and indexes.
  • Grafana Mimir - Scalable Prometheus metrics with object-backed blocks and a separate ingestion tier.
  • Grafana Tempo - Distributed tracing and TraceQL over object-backed trace blocks.
  • GreptimeDB - Observability database for metrics, logs, and traces with object-backed columnar storage.
  • InfluxDB 3 Core - Time series database that stores its write-ahead log and Parquet data in object storage.
  • OpenObserve - Logs, metrics, and traces with Parquet data in object storage.
  • Parseable - SQL log analytics with data stored in object storage.
  • Quickwit - Search engine for logs and traces with indexes stored in object storage.
  • Thanos - Global Prometheus queries and long-term metrics in object-backed TSDB blocks.

Files, Volumes, and Repositories

  • JuiceFS - Shared POSIX filesystem with file data in object storage and metadata in a separate database.
  • Walgit - Git and Git LFS server that keeps repositories in a bucket and commits pushes with manifest compare-and-swap.
  • ZeroFS - Filesystem and block server over NFS, 9P, and NBD with data and metadata in object storage; durability differs by protocol.

Building Storage Systems

  • Graft - Alpha transactional page storage over object storage, with a SQLite extension.
  • SlateDB - Embedded LSM key-value store that writes its write-ahead log and sorted tables to object storage.
  • Tonbo - Alpha embedded database with Parquet tables and manifest compare-and-swap on S3-compatible storage.
  • Ursa - Embeddable stream storage engine with object-backed logs and optional Iceberg or Delta Lake materialization.
  • wal3 - Chroma's Rust log library built from immutable object fragments and conditional manifest updates.
  • Woodpecker - Write-ahead log library and service on object storage, with etcd for metadata and coordination.
  • DuckDB - In-process analytical database that can read and write Parquet, CSV, and JSON files on object storage.
  • Litestream - Asynchronous SQLite replication to object storage for backup and recovery.

Articles and References

  • An Introduction to WAL-on-S3 Architectures - Akihiro Okuno's 41-slide Scalar Inc. tech talk on commit placement, fencing, batching, and durability tradeoffs across databases and streaming systems. (PDF)
  • Git at any scale - Design of a Git service that uses S3-compatible storage as the source of truth for repositories.
  • KIP-1150: Diskless Topics - Accepted Apache Kafka proposal for topics whose durability comes from object storage.
  • OSWALD - Write-ahead log design built only on object storage primitives.
  • Replacing NATS with S3 - Forthcoming Rivet 3.0 design that sends latency-tolerant broadcasts through per-node S3 logs and request-reply traffic directly between nodes.
  • S3 WAL Collection - Catalog of write-ahead log designs on object storage, with TLA+ specifications.
  • turbopuffer Architecture - Search engine design with its write-ahead log and indexes on object storage.
  • Zero-Disk S3 Storage for SQLite - Rivet's released SQLite storage, which commits to a replicated hot tier and moves idle data to S3.

Contributing

Contributions are welcome. Read the contribution guidelines first.

awesome
awesome-list
database
distributed-systems
lakehouse
object-storage
s3
storage-engine
write-ahead-log

elyase/awesome-object-storage-native

Open-source databases, application runtimes, and storage engines that use object storage for durable state, logs, indexes, or transactional datasets.

9

2 commits

updated Oct 7, 2026

See the code

See what people are saying

README

Awesome Object Storage Native Awesome

Open-source databases, application runtimes, and storage engines that use object storage for durable state, logs, indexes, or transactional datasets.

Entries are open-source implementations with a documented configuration in which object storage, such as Amazon S3, an S3-compatible service, Google Cloud Storage, or Azure Blob Storage, holds authoritative state, retained records, indexes, or transactional datasets. Some commit directly to object storage; others acknowledge writes through a separate durable tier first. Object-storage native does not mean bucket-only infrastructure: many entries also need a catalog, coordinator, or metadata database. Backup-only tools and general file-query engines are listed under Related Tools.

The comparison records object-storage backends, licenses, the role object storage plays, dependencies, and caveats for each entry. Experimental implementations are kept in a separate list.

Contents

Stateful Applications and Durable Actors

  • Celld - Self-hosted Workers applications and Durable Objects with per-object SQLite and bucket-held state.
  • Rivet Actors - Stateful actors with durable SQLite, realtime connections, queues, and S3-tiered storage; forthcoming v3 moves latency-tolerant broadcasts to S3 logs.
  • Terse Durable Actors - Stateful TypeScript and Python actors with state snapshots in Google Cloud Storage.

Streaming and Messaging

  • AutoMQ - Kafka-compatible event streaming with shared logs on S3-compatible object storage.
  • Nisshi - Kafka-compatible broker with selectable storage engines, including S3.
  • S2 Lite - Self-hostable server for the S2 durable streams API, built on SlateDB.
  • Ursa for Apache Kafka - Kafka distribution with opt-in diskless topics stored through Ursa.

Databases and Data Processing

  • Apache Druid - Real-time analytical database with durable segments in object-backed deep storage.
  • ClickHouse - Analytical database whose MergeTree tables can use S3 or Azure Blob Storage disks.
  • Embucket - DataFusion query engine with partial Snowflake compatibility and Iceberg tables in Amazon S3 Tables.
  • Neon - PostgreSQL with separated compute and storage, branching, and object-backed history.
  • RisingWave - Streaming SQL database that keeps state, tables, and materialized views in object storage.
  • XTDB - Bitemporal SQL database with object-backed storage and a separately configured transaction log.

Search and Retrieval

  • Chroma - Search database whose distributed deployment uses object-backed indexes and the wal3 log.
  • HelixDB - Graph database with vector and full-text search over SlateDB storage on S3-compatible buckets.
  • LanceDB - Embedded vector and multimodal database over Lance datasets in S3, Google Cloud Storage, or Azure Blob Storage.
  • Milvus - Vector database with collection data and indexes in object storage and a separately configured write-ahead log.
  • OpenData Vector - Early vector database with metadata filtering on SlateDB storage.

Transactional Tables and Array Datasets

  • Apache Hudi - Lakehouse tables with upserts, deletes, and incremental queries, keeping data and metadata in cloud storage.
  • Apache Iceberg - Analytical table format with object-backed files and catalog-coordinated commits.
  • Apache Paimon - Lakehouse tables for streaming updates, change data, and analytical queries.
  • Delta Lake - Transactional analytical tables with an object-backed log, also implemented natively in Rust by delta-rs.
  • DuckLake - Transactional Parquet datasets with data files in object storage and a SQL database as the catalog.
  • Icechunk - Transactional Zarr array storage with snapshots, branches, and no external catalog.

Observability

  • Grafana Loki - Log aggregation and LogQL queries over object-backed chunks and indexes.
  • Grafana Mimir - Scalable Prometheus metrics with object-backed blocks and a separate ingestion tier.
  • Grafana Tempo - Distributed tracing and TraceQL over object-backed trace blocks.
  • GreptimeDB - Observability database for metrics, logs, and traces with object-backed columnar storage.
  • InfluxDB 3 Core - Time series database that stores its write-ahead log and Parquet data in object storage.
  • OpenObserve - Logs, metrics, and traces with Parquet data in object storage.
  • Parseable - SQL log analytics with data stored in object storage.
  • Quickwit - Search engine for logs and traces with indexes stored in object storage.
  • Thanos - Global Prometheus queries and long-term metrics in object-backed TSDB blocks.

Files, Volumes, and Repositories

  • JuiceFS - Shared POSIX filesystem with file data in object storage and metadata in a separate database.
  • Walgit - Git and Git LFS server that keeps repositories in a bucket and commits pushes with manifest compare-and-swap.
  • ZeroFS - Filesystem and block server over NFS, 9P, and NBD with data and metadata in object storage; durability differs by protocol.

Building Storage Systems

  • Graft - Alpha transactional page storage over object storage, with a SQLite extension.
  • SlateDB - Embedded LSM key-value store that writes its write-ahead log and sorted tables to object storage.
  • Tonbo - Alpha embedded database with Parquet tables and manifest compare-and-swap on S3-compatible storage.
  • Ursa - Embeddable stream storage engine with object-backed logs and optional Iceberg or Delta Lake materialization.
  • wal3 - Chroma's Rust log library built from immutable object fragments and conditional manifest updates.
  • Woodpecker - Write-ahead log library and service on object storage, with etcd for metadata and coordination.
  • DuckDB - In-process analytical database that can read and write Parquet, CSV, and JSON files on object storage.
  • Litestream - Asynchronous SQLite replication to object storage for backup and recovery.

Articles and References

  • An Introduction to WAL-on-S3 Architectures - Akihiro Okuno's 41-slide Scalar Inc. tech talk on commit placement, fencing, batching, and durability tradeoffs across databases and streaming systems. (PDF)
  • Git at any scale - Design of a Git service that uses S3-compatible storage as the source of truth for repositories.
  • KIP-1150: Diskless Topics - Accepted Apache Kafka proposal for topics whose durability comes from object storage.
  • OSWALD - Write-ahead log design built only on object storage primitives.
  • Replacing NATS with S3 - Forthcoming Rivet 3.0 design that sends latency-tolerant broadcasts through per-node S3 logs and request-reply traffic directly between nodes.
  • S3 WAL Collection - Catalog of write-ahead log designs on object storage, with TLA+ specifications.
  • turbopuffer Architecture - Search engine design with its write-ahead log and indexes on object storage.
  • Zero-Disk S3 Storage for SQLite - Rivet's released SQLite storage, which commits to a replicated hot tier and moves idle data to S3.

Contributing

Contributions are welcome. Read the contribution guidelines first.

awesome
awesome-list
database
distributed-systems
lakehouse
object-storage
s3
storage-engine
write-ahead-log

Significant stargazers

D. Bohdan

273 followers · starred Oct 2026