Speedy
maintenanceby Harald Wabnig · since 2002 · also known as Speedy1
Tiny main-memory SQL database for Windows and Linux built to make unit testing easy; last updated 2003.
maintenance. Downloads remain online, but the last release was 2.0.1 (July 2003) and development stopped. Use SQLite or DuckDB for embedded SQL in tests.
Overview
Speedy was a one-person project by Harald Wabnig: a small client/server main-memory SQL database, plus Speedy1, a variant linked straight into the application so end users never install a database. It was built to support unit-test environments, with sub-selects, joins, DISTINCT, cursors, transactions and unique indexes through a C API, and came with a viewer, a designer and code generators. The author listed its limits plainly: data must fit in virtual memory, no network access, transactions lock the whole database and query optimisation is manual. The last version, 2.0.1, came out in July 2003; the site still hosts the downloads.
Strengths & trade-offs
Strengths
- +Very small footprint with both client/server and linked-in variants
- +Designed for repeatable unit-test databases
- +Supports sub-selects, joins, cursors and transactions despite its size
Trade-offs
- −Unmaintained since 2003
- −No network access and whole-database locking during transactions
- −Incomplete SQL (no views, privileges or ALTER TABLE)
Great for
- +Historical reference for small embedded SQL engines
- +Legacy C test harnesses that already use it
Think twice for
- −New projects
- −Concurrent or networked workloads
Capabilities
Native or official first-party support · 5 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- Limited ACID
- Consistency
- Strong
- Schema
- Strict
- Architecture
- In memory, Embedded, Client server
- Query languages
- SQL (subset)
Whole database must fit in virtual memory on one machine.
Deployment
Ecosystem
Alternatives to Speedy
The in-process SQL engine that ships in every phone, browser and OS: one file, zero servers.
speedy vs sqlite →In-process columnar SQL database: the SQLite of analytics, running inside your app or notebook.
speedy vs duckdb →Fast pure-Java SQL engine for embedded, in-memory and test databases, with compatibility modes.
speedy vs h2 →Long-running pure-Java SQL database with strong SQL:2023 coverage, used embedded and in LibreOffice.
speedy vs hsqldb →Desktop database and forms builder bundled with Microsoft 365; still everywhere in back offices.
speedy vs microsoft-access →Lightweight, MVCC relational database from the InterBase lineage, embeddable or client-server.
speedy vs firebird →Speedy FAQ
What is Speedy?
Speedy is a relational database by Harald Wabnig, first released in 2002. Speedy was a one-person project by Harald Wabnig: a small client/server main-memory SQL database, plus Speedy1, a variant linked straight into the application so end users never install a database. It was built to support unit-test environments, with sub-selects, joins, DISTINCT, cursors, transactions and unique indexes through a C API, and came with a viewer, a designer and code generators. The author listed its limits plainly: data must fit in virtual memory, no network access, transactions lock the whole database and query optimisation is manual. The last version, 2.0.1, came out in July 2003; the site still hosts the downloads.
Is Speedy open source?
Yes. Speedy is open source. License: Permissive MIT-style distribution terms.
Does Speedy support ACID transactions?
Partly. Speedy offers limited ACID guarantees (for example, single-record or single-partition transactions), with strong consistency.
Does Speedy scale horizontally?
Speedy does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run Speedy?
You can self-host it and embed it in your application.
What is Speedy best for?
Speedy is a strong fit for historical reference for small embedded SQL engines and legacy C test harnesses that already use it. Think twice for new projects.
What are the best alternatives to Speedy?
Common alternatives to Speedy include SQLite, DuckDB, H2 Database, HyperSQL (HSQLDB) and Microsoft Access. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
Is Speedy still maintained?
Speedy is in maintenance mode. Downloads remain online, but the last release was 2.0.1 (July 2003) and development stopped. Use SQLite or DuckDB for embedded SQL in tests.
How popular is Speedy?
Speedy has little measurable public adoption today, so it ranks near the bottom of the WhichDB Score.