DEV.co
Open-Source Databases · stoolap

stoolap

Stoolap is a modern embedded SQL database written in Rust that combines ACID transactions, MVCC concurrency, and advanced SQL features without requiring a separate server process. It targets low-latency transactional and analytical workloads with built-in support for time-travel queries, vector search, and multiple index types.

Source: GitHub — github.com/stoolap/stoolap
1.2k
GitHub stars
43
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
Repositorystoolap/stoolap
Ownerstoolap
Primary languageRust
LicenseApache-2.0 — OSI-approved
Stars1.2k
Forks43
Open issues8
Latest releasev0.4.0 (2026-04-01)
Last updated2026-05-30
Sourcehttps://github.com/stoolap/stoolap

What stoolap is

Pure Rust implementation featuring MVCC-based transaction isolation, cost-based query optimization with adaptive execution, hot/cold columnar storage inspired by Iceberg/Delta Lake, and native HNSW vector indexing. Supports standard SQL with CTEs, window functions, and time-travel queries via AS OF syntax.

Quickstart

Get the stoolap source

Clone the repository and explore it locally.

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

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

Best use cases

Embedded analytics in Rust applications

Ideal for applications needing local SQL analytics without external dependencies. Pure Rust avoids C/C++ dependency chains and enables memory-safe embedding directly into server/client binaries.

Time-sensitive transactional workloads with audit requirements

AS OF TIMESTAMP and AS OF TRANSACTION queries enable point-in-time recovery and temporal auditing natively, supporting compliance use cases that would require extension schemas in PostgreSQL.

Vector-native applications and semantic search

Built-in VECTOR(N) type and HNSW indexing eliminate the need for separate vector stores, simplifying architecture for AI applications requiring approximate nearest-neighbor search at query time.

Implementation considerations

  • Rust API and CLI both provided; integration path depends on whether application is Rust-native (direct embedding) or polyglot (requires language driver, which may be pre-release quality).
  • Time-travel queries (AS OF TIMESTAMP/TRANSACTION) are native but require schema design understanding; query performance depends on WAL/checkpoint tuning and compaction strategy for large tables.
  • HNSW vector indexing parameters (m, ef_construction, ef_search) require manual tuning; no adaptive defaults or auto-tuning described. Vector embedding generation must be external unless semantic feature is enabled.
  • Hot/cold storage compaction is automatic but configurable via DSN parameters (sync_mode, checkpoint_interval, compact_threshold). Monitor checkpoint latency and volume merge strategy in production.
  • No formal data migration or schema evolution tooling described; upgrades across major versions (v0.4 to v1.0) may require manual testing and data re-export/import workflows.

When to avoid it — and what to weigh

  • Production systems requiring mature operational stability — Project created 2025-12-11; v0.4.0 released 2026-04-01. Early maturity stage with 1,185 stars indicates emerging adoption but not battle-tested across diverse production workloads at scale.
  • Multi-client concurrent access with high write contention — Designed as embedded database (single process), not a distributed multi-client server. WAL and MVCC support concurrent reads but architecture assumes single-writer or low-write-contention patterns.
  • Applications requiring non-Rust language bindings as first priority — README lists experimental drivers (Node.js, Python, PHP, WASM, C) but no adoption metrics or stability guarantees provided. Consider SQLite/DuckDB if polyglot client support is critical.
  • Workloads demanding offline documentation and air-gapped deployment — Documentation heavily referenced as external (stoolap.io). No indication of offline docs, formal SLAs, or vendor support channels; requires external connectivity for tutorials and troubleshooting.

License & commercial use

Licensed under Apache License 2.0 (Apache-2.0), a permissive OSI-approved license. Allows commercial use, modification, and distribution with liability/warranty disclaimers and attribution requirements.

Apache-2.0 permits commercial use without licensing fees. However, Stoolap is early-stage software (v0.4, <6 months old); commercial deployment should assume no upstream vendor support, SLA, or indemnification. Treat as self-supported open-source dependency.

DEV.co evaluation signals

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

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

Written in Rust, which eliminates large classes of memory-safety issues. SQL injection risk standard for dynamic queries (parameterized queries supported via $N syntax). WAL fsync modes (none/normal/full) affect durability-to-crash guarantees; default 'normal' balances latency vs. durability. No mention of encryption at rest, authentication/authorization per-user, or audit logging; review threat model for sensitive data.

Alternatives to consider

SQLite

Mature, battle-tested embedded database with broader language support and larger ecosystem. Lacks MVCC, time-travel queries, vector search, and cost-based optimization; simpler operational model.

DuckDB

In-process analytical OLAP engine with Parquet/Arrow native support, cost-based optimizer, and columnar storage. Stronger for analytical workloads; weaker ACID/MVCC story and no native vector indexing or time-travel.

PostgreSQL (with extensions)

Production-grade SQL database with MVCC, time-travel (via temporal tables), vector search (pgvector), and strong ecosystem. Requires separate server process; not embedded. Battle-tested but heavier operational burden.

Software development agency

Build on stoolap with DEV.co software developers

Stoolap is ideal for Rust applications needing local SQL without external servers. Evaluate its v0.4 stability, language driver maturity, and operational tuning overhead for your use case.

Talk to DEV.co

Related open-source tools

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

Related on DEV.co

Explore the category and the services that help you build with it.

stoolap FAQ

Is Stoolap suitable for production use today?
Early-stage (v0.4, <6 months old). Suitable for new projects with tolerance for API/storage format changes and self-managed support. Not recommended for mission-critical systems requiring vendor SLAs or multi-year stability guarantees.
Can I use Stoolap from Python or Node.js?
Experimental drivers exist (listed in docs) but maturity Unknown. Rust API is primary; polyglot usage carries risk. Validate driver stability and performance for your workload before production.
How does time-travel querying work and what are the costs?
AS OF TIMESTAMP and AS OF TRANSACTION queries read from MVCC snapshots stored in WAL/cold volumes. Costs depend on checkpoint interval and volume compaction strategy. Large time windows and frequent queries may slow due to snapshot reconstruction; requires testing.
What's the difference between Stoolap and DuckDB for analytical queries?
Stoolap emphasizes MVCC transactions and time-travel; DuckDB optimizes for OLAP. DuckDB is more mature for pure analytics. Choose Stoolap if ACID isolation and temporal queries are requirements.

Work with a software development agency

Adopting stoolap 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 embed Stoolap?

Stoolap is ideal for Rust applications needing local SQL without external servers. Evaluate its v0.4 stability, language driver maturity, and operational tuning overhead for your use case.