bbolt vs redb
bbolt
github.comredb
redb.orgSide by side
| Figure | bbolt | redb |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | — |
| iOS | Yes | — |
| Android | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 1 | 0 |
| Spec score · Embedded Databases | 8.4 (#6) | 6.4 (#27) |
| Storage | A database is stored as a single file on disk and represents a consistent snapshot of the data. | Data is stored in a collection of copy-on-write B+trees. |
| Transactions | bbolt supports serializable ACID transactions with one read-write transaction at a time and multiple concurrent read-only transactions. | redb supports fully ACID-compliant transactions. |
Plans
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.