Top Rated BoltDB Alternatives
Entirely written in Go, meaning that it's easy for me to dig in to the internals if I had an issue. Offers an interesting alternative to leveldb. Review collected by and hosted on G2.com.
The golang API is different from a other databases such as leveldb. Refactoring my code to use boltdb instead of leveldb was painful, presumably the resulting performance boost for using the batch API on a small database was negligible/nil.
The documentation also doesn't make it immediately clear on how best to handle state when using closures. Review collected by and hosted on G2.com.
17 out of 18 Total Reviews for BoltDB
Overall Review Sentiment for BoltDB
Log in to view review sentiment.

Super fast mmap implementation where operating system caches everything. Reduced dependencies and persistence storage. It also enables transactions and due to the fact that it's embedded - no connection pool. Review collected by and hosted on G2.com.
Lack of scalability options, it can bring you up to speed very quickly and let you process a lot of stuff, but when you need to scale horizontally - you will have to look for other projects. Review collected by and hosted on G2.com.

My favourite feature is how small you can keep your database, which is great for embedded linux systems where storage is a premium. The fact that it is written in pure Go, and the stack I wrote was also pure Go was great, so I didn't have to struggle with cross-compilation of something written in C-with-Go-binding. Review collected by and hosted on G2.com.
The limitation of 1 process per database actively running means you can't use it to simply share state between multiple active applications, which hampered my original software stack design. Review collected by and hosted on G2.com.

When i started with go (as an alternative to django/python and its, you know problems) while developing my various apps. I needed a database but i'm broke :), because i quit my job and moved to africa to, you know, bill gates charity it up. I needed to create something quick to attract investors. I did not want to spend any more dollars(i had no more) and i needed to create something real quick as a demo for my potential investors. Bolt was to the rescue. I was able to create my own parse api quickly and fast.
Bolt allows (in addition to a layer i created) to quickly prototype apps that run locally.
It allowed me to create a cache system for my free wifi system (based on ledisdb based on boltdb). etc Review collected by and hosted on G2.com.
Well, what i dislike about boltdb allowed me to create a solution for it. I needed relationships, so i created a library that provides that feature. At the end of the day i think i learned more about databases by adding that feature. Review collected by and hosted on G2.com.

A pure go persistence solution that supports transactions and is both well documented and reliable.
It's documentation and easy to use API make it fairly easy to embed persistence into your go applications. BoltDB provides fully serializable ACID transactions which guarantees reliability in processing. It also provides range scanning functionality through items in order via it's bucket Cursor method as well as provides prefix searching capabilities. BoltDB also allows for easy implementation of hot backups as well as grabbing of statistics snapshots. Review collected by and hosted on G2.com.
While being a key-value allows BoltDB a lower learning curve than most relational DBs, it also means you have to write the logic to sufficiently make use of your data. Also, being a new kid on the block (Go as well), usually you have to sell it to project owners. Review collected by and hosted on G2.com.

Simplicity of the libraries API. The fact that it is an embedded database, which uses a file for storage makes portability and reuse between my applications. Very quick as long as you're using it for the right purpose. The Bolt team are very open about the caveats of Bolt. Review collected by and hosted on G2.com.
Difficult to give much constructive criticism. For small applications or byte ordered data, bolt is your tool. I imagine if you're going to plug any large volume of data through it, I would just ensure that you need your data to be stored sequentially. I wouldn't use it necessarily as some kind of cache layer, due to IO and having to implement some kind of eviction policy. Review collected by and hosted on G2.com.
Bolt is an impressive package. I like the fact that it is written in pure Go as I am a software engineer on a team that primarily uses Go for development. I know that Bolt stores its data in a B+ tree data store, which I'm sure is one reason why it has great performance. Review collected by and hosted on G2.com.
Although my experience was mostly positive, parts of the setup process required more time than expected. When inserting data into the database initially, it took many hours to build a relatively small database. We later found that sorting the data before adding it the database made all the difference and the time to create the database dropped from hours to a couple of minutes.
Another observation is that the database grows in size when adding files (as expected), but it never seemed to shrink in size when files were deleted. Review collected by and hosted on G2.com.

I like that it's easy to drop into an existing Go project and get started quickly. I like the examples on the Github site. I like that you don't have to install a full database installation to store / fetch / lookup data. Review collected by and hosted on G2.com.
I don't like that data sharing isn't straight forward. I don't like that clustering (while it might be overkill for most) is a no-go. I don't like that moving data from one file to another isn't straightforward -- but I like that it is doable with tools like https://github.com/hashicorp/raft-boltdb Review collected by and hosted on G2.com.
Bolt is really easy to use. It's written in go, so you don't need to install any dependencies to get it work - include Bolt to your source and you're ready.
Bolt supports transactions. Actually, you can't do anything without a transaction. Good for Bolt - it makes transactions very easy and transparent.
Though Bolt is a key-value storage, it supports nested collections (a.k.a. batches). It's a killer feature when you need to use namespaces.
Bolt is very good on workloads. Review collected by and hosted on G2.com.
Bolt is not good at write workloads.
Bolt increases DB size exponentially. You can get a big DB very fast.
Bolt uses memory-mapped files. This thing and exponentially growing DB makes Bolt a great memory eater. Review collected by and hosted on G2.com.
Bolt allows me to save data in a simple way in situations where no advanced operations are needed. It has no useless features and because of its internal B+ tree structure it's fast as a lightning. Review collected by and hosted on G2.com.
I haven't stumbled upon anything I dislike. Everything seems logical and orthogonal. Review collected by and hosted on G2.com.