bbolt vs SQLite
bbolt
github.comSQLite
sqlite.orgSide by side
| Figure | bbolt | SQLite |
|---|---|---|
| Price from | Free | $12.50/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | Yes | Yes |
| Android | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 16 |
| Spec score · Embedded Databases | 8.4 (#6) | 8.7 (#3) |
| Transactions | bbolt supports serializable ACID transactions with one read-write transaction at a time and multiple concurrent read-only transactions. | SQLite transactions are atomic, consistent, isolated, and durable even after system crashes and power failures. |
Plans
SQLite
- Public ForumFree
- SQLiteFree
- SQLite Consortium Membership$150 a year
- Technical Support$885 a year
- Annual Maintenance Subscription$1,500 a year
- Annual Maintenance Subscription$1,500 a year
- CEROD$2,000, paid once
- CEROD$2,000, paid once
- SQLite Encryption Extension (SEE)$2,000, paid once
- SQLite Encryption Extension (SEE)$2,000, paid once
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.
SQLite
SQLite is a transactional SQL database engine that runs within an application, without a separate server process or configuration. Each complete database resides in a single disk file that works across platforms. Its SQL features include partial indexes, indexes on expressions, JSON, common table expressions, and window functions. Transactions are atomic, consistent, isolated, and durable, including after system crashes and power failures. A database file can have unlimited simultaneous readers, but only one writer at a time. The project recommends SQLite for device-local storage with low writer concurrency and less than a terabyte of content. SQLite is free for commercial or private use, with source code in the public domain. Downloads include source and precompiled binaries for Android, Linux, Mac OS X, and Windows, along with WebAssembly and JavaScript bundles for web applications. A free public forum is available, alongside paid private email and technical support options. The maker is based in Charlotte, North Carolina, and was founded in 2000.