DEV.co
Open-Source Databases · tonbo-io

tonbo

Tonbo is a lightweight, open-source embedded database written in Rust designed for serverless and edge environments. It stores data as immutable Parquet files on object storage (S3, local filesystem) with manifest-based coordination, keeping compute stateless and eliminating the need for a dedicated database server.

Source: GitHub — github.com/tonbo-io/tonbo
1.6k
GitHub stars
99
Forks
Rust
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorytonbo-io/tonbo
Ownertonbo-io
Primary languageRust
LicenseApache-2.0 — OSI-approved
Stars1.6k
Forks99
Open issues18
Latest release0.3.2 (2025-04-10)
Last updated2026-05-29
Sourcehttps://github.com/tonbo-io/tonbo

What tonbo is

Tonbo implements an LSM tree optimized for object storage with MVCC snapshot isolation, async-first design (Tokio-native), and Arrow-native schemas. It uses compare-and-swap on the manifest for coordination and write-once Parquet SSTables for durability, enabling stateless functions to participate safely in commits.

Quickstart

Get the tonbo source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/tonbo-io/tonbo.gitcd tonbo# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Serverless event and time-series workloads

Ingest append-heavy event data or time-series records directly to S3 with low overhead, query via Lambda/Cloud Functions without provisioning database infrastructure.

Edge and WASM applications requiring durable state

Run Tonbo in Cloudflare Workers, Deno, or browser WASM contexts where a lightweight embedded store with S3 backing eliminates the need for external database connections.

Offline-first and sync-heavy mobile/web backends

Embed Tonbo as a local store on devices, sync snapshots to S3, and coordinate writes across multiple clients via manifest CAS without a centralized coordinator.

Implementation considerations

  • Tonbo is alpha-stage; plan for API changes and test thoroughly in non-critical workloads before production deployment.
  • S3 operations and manifest compare-and-swap introduce latency; understand eventual consistency and manifest conflict resolution behavior for your use case.
  • Async Tokio runtime is required; ensure your deployment target supports async Rust (not all edge runtimes fully mature).
  • Compaction strategy and SSTable tuning affect query performance and S3 cost; benchmark with realistic data volumes and access patterns.
  • WAL sync mode (always/batch) is configurable via environment; tune per workload to balance durability and throughput.

When to avoid it — and what to weigh

  • You need strong ACID guarantees across multiple databases — Tonbo is single-instance MVCC; distributed transactions and cross-database atomicity are not supported.
  • You require sub-millisecond latency and high QPS on a single key — Object storage PUT/GET latencies and manifest CAS overhead make Tonbo unsuitable for ultra-low-latency hot-key workloads; consider in-memory caches or purpose-built stores.
  • Your schema and queries are highly unpredictable or unstructured — Tonbo requires pre-defined Arrow schemas; dynamic or schema-less workloads are possible but less ergonomic than document databases.
  • You need mature production support and SLA guarantees — Project is in alpha; APIs may change and no commercial support or stability guarantees are offered.

License & commercial use

Licensed under Apache License 2.0 (Apache-2.0), a permissive OSI-approved license allowing commercial use, modification, and distribution under stated conditions (retain attribution, state changes, include license copy).

Apache-2.0 permits commercial use. However, Tonbo is in alpha with no explicit warranties or support guarantees. Conduct your own security and reliability assessment before deploying to production systems. Consult legal counsel if you require indemnification or SLA commitments.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

No explicit security audit or hardening disclosures found in data. S3 access depends on AWS credential handling (project shows AwsCreds::from_env() pattern); ensure IAM policies are least-privilege. Manifest CAS uses S3 atomic operations; review S3 bucket versioning and encryption policy. Alpha status means security best practices may evolve. No mention of encryption at rest or in transit; verify S3 SSL/TLS enforcement and object-level encryption for sensitive data.

Alternatives to consider

DuckDB

Embedded OLAP database with broader SQL support and Parquet native support, but less optimized for serverless and lacks built-in S3 manifest coordination.

SQLite

Ubiquitous embedded relational database with strong ecosystem, but not async-first, not optimized for object storage, and lacks MVCC snapshot semantics.

ParquetDataset + Apache Arrow + custom coordination

Maximum flexibility and control, but requires building manifest logic, MVCC, and CAS yourself; higher engineering burden for same stateless compute benefits.

Software development agency

Build on tonbo with DEV.co software developers

Tonbo is designed for stateless compute on S3. Start with a local example (examples/ directory), move to S3 when ready. Join the Discord community for guidance and early feedback.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

tonbo FAQ

Does Tonbo replace a traditional database server?
For serverless and edge workloads, yes—data lives on S3 and coordination is via manifest CAS, so no persistent database server is needed. For traditional server-based apps needing strong transactions or high QPS, Tonbo is better suited as a component (e.g., cache layer, event log).
What are the costs of using Tonbo on S3?
You pay for S3 storage (Parquet files), PUT/GET operations (manifest and data reads), and data transfer. Manifest CAS uses atomic S3 operations (cheap per-request). Benchmark with your data volume and access pattern; remote compaction (in-progress) may reduce cost further.
Can I run Tonbo in my browser or Cloudflare Workers?
Yes. Tonbo runs in WASM and edge runtimes (Deno, Cloudflare Workers) with local or S3 backends. See examples and docs for setup; note that some async runtimes (e.g., limited Worker timers) may require careful design.
Is Tonbo production-ready?
Project is in alpha. APIs may change, no guaranteed support, and no formal security audit. Suitable for development and non-critical workloads; evaluate thoroughly and plan for potential migration if using in production.

Software development & web development with DEV.co

Adopting tonbo is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source databases software in production.

Ready to add a durable data layer to serverless?

Tonbo is designed for stateless compute on S3. Start with a local example (examples/ directory), move to S3 when ready. Join the Discord community for guidance and early feedback.