bbolt vs HSQLDB
bbolt
github.comHSQLDB
hsqldb.orgSide by side
| Figure | bbolt | HSQLDB |
|---|---|---|
| Price from | Free | $8.33/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | Yes | — |
| Android | Yes | — |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 11 |
| Spec score · Embedded Databases | 8.4 (#6) | 9.2 (#2) |
| Backup | A read-only transaction can write a consistent hot backup without blocking other database reads and writes. | The engine supports fast startup and shutdown with incremental backup plus online and offline backups and SQL-script dumps. |
| Integrations | The README lists projects using Bolt, including Consul, Containerd, InfluxDB, Prometheus Annotation Server, and NATS Streaming. | The project documents JDBC and ODBC connectivity and integration with OpenOffice.org and LibreOffice. |
| Transactions | bbolt supports serializable ACID transactions with one read-write transaction at a time and multiple concurrent read-only transactions. | The engine supports lock-based and MVCC transaction models and is fully multithreaded. |
Plans
HSQLDB
- Developer subscription$100 a year
- Basic Corporate subscriptionPrice not published
- Premier Corporate subscription$2,500 a year
- HSQLDBFree
- HSQLDB softwareFree
- Developer SupportWare$100 a year
- SupportWare Developer subscription$100 a year
- Basic Corporate SupportWare$500 a year
- SupportWare Basic Corporate subscription$500 a year
- Premier Corporate SupportWare$2,500 a year
In their own words
bbolt
bbolt is a maintained fork of Bolt, providing Go applications with an embedded key-value store instead of a full database server. It keeps the database in one file, representing a consistent snapshot of its data. Key/value pairs are arranged in buckets, which can be nested, and bucket keys are stored in byte-sorted order. The library supports serializable ACID transactions: one read-write transaction at a time, alongside multiple concurrent read-only transactions.
A read-only transaction can create a consistent hot backup without blocking other database reads and writes. bbolt exposes operation statistics that can be logged or sent to a service such as statsd. The project describes it as a fit for read-intensive workloads and range scans, while warning that random writes can be slow. The database file has an exclusive write lock, so multiple processes cannot share it for writing; read-only mode permits multiple readers. The project documents gomobile bindings for iOS and Android, as well as Windows, macOS and Linux support. It is free under the MIT license, with no paid support plan listed.
HSQLDB
HSQLDB is a Java-based relational database engine for embedded or server use, with both in-memory and disk-based tables. It supports SQL:2023 core features and many optional features, plus lock-based and MVCC transaction models; the engine is fully multithreaded. Listed capabilities include JSON constructor functions, CSV loading and unloading, temporal system-versioned tables, row-level access control, and log-based replica synchronization. It includes a command-line SQL tool and simple GUI query tools. The latest official release listed is version 2.7.4, compatible with JDK 8 and above, and packages include Java 11 module jars as well as Java 8 jars for HSQLDB and SQL Tool. HSQLDB is self-hosted, with high availability, read replicas, and JSON data support listed. Its default combined limit for CACHED tables is 8TB, extendable to 256TB with a connection property; each TEXT table is limited to 256GB, and memory tables depend on available memory. The software is free to use in commercial products when license terms are met; its licenses are based on the new BSD License. The HSQLDB plan is free. A Developer subscription is $100 a year; Premier Corporate is $2,500 a year at the base level. Support options include community channels and paid commercial support.