BoltDB

4.4
(18)

BoltDB is an embedded key/value database for Go.

Work for BoltDB?

Learning about BoltDB?

We can help you find the solution that fits you best.

BoltDB Reviews

Ask BoltDB a Question
Write a Review
Filter Reviews
Filter Reviews
  • Ratings
  • Company Size
  • User Role
  • Industry
Ratings
Company Size
User Role
Industry
Showing 18 BoltDB reviews
LinkedIn Connections
BoltDB review by Karolis R.
Karolis R.
Validated Reviewer
Verified Current User
Review Source

"Migrated Hoverfly backend from Redis to BoltDB to reduce dependencies"

What do you like best?

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.

What do you dislike?

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.

Recommendations to others considering the product

Check out caveats and limitations, don't use byte slices blindly, write those bytes to buffer before ending transaction. That's not very clear through the documentation, just keep that in mind.

Also, understand that it's not a silver bullet for everything, if you need to something that has schema and relations - bolt is not for you. If you are working on a web app that will be deployed to container and then automatically scaled - bolt is not for you. Design better interfaces in your application to easily change backends, that will help you later.

What business problems are you solving with the product? What benefits have you realized?

Service virtualization, capturing/virtualizing/synthesizing external APIs. BoltDB helped to make our tool Hoverfly truly autonomous with zero dependencies, very easy to deploy and achieve superb performance. Migrating from Redis to BoltDB increased requests per second from ~400 to ~850.

Sign in to G2 Crowd to see what your connections have to say about BoltDB
BoltDB review by Christian W.
Christian W.
Validated Reviewer
Review Source

"Bolt offers an extremely simple database solution for lightweight and embedded purposes."

What do you like best?

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.

What do you dislike?

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.

Recommendations to others considering the product

I cannot speak to the side of scalabilty or performance under extreme load conditions, but for my purpose of using it for a low-spec, storage sparse, embedded platform it worked well and was nice and easy to setup.

For that purpose, I would definitely recommend BoltDB, and use it again myself.

What business problems are you solving with the product? What benefits have you realized?

The business case was to build an embedded Linux software stack for an IoT'esque M2M device to record data off various pieces of hardware, and push it back over the wire to cloud servers.

The benefits of having an embedded database meant not having to draft up convoluted ideas on how to store data that has yet to be sent, for example in the case of communication failure of the GSM network, or even device failure due to loss of power. This made it simple to "pick up and go" from the last known point without having to deserialize data from disk, mung it together, pack it up and sent it over the wire.

What Key-Value Stores solution do you use?

Thanks for letting us know!
BoltDB review by Osiloke E.
Osiloke E.
Validated Reviewer
Review Source

"Using boltdb as a database source for a generic dynamic api"

What do you like best?

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

What do you dislike?

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.

Recommendations to others considering the product

It is a useful tool in prototyping and can actually be used in production based on your needs. I believe cockroachdb is using it and also ledisdb which i use for caching.

What business problems are you solving with the product? What benefits have you realized?

Well, i had initially wanted to create a service similar to parse api that i could run locally in Nigeria. I ended up using rethinkdb as my primary database source but boltdb helped me in the initial prototyping stages, It opens me up to indexing based in the form of bleve search. It has allowed me to prototype new apps quickly. For eg, i used bolt and bleve to prototype a traffic monitoring app.

BoltDB review by Peter E.
Peter E.
Validated Reviewer
Review Source

"Painless Pure Go Persistence Solution"

What do you like best?

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.

What do you dislike?

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.

Recommendations to others considering the product

BoltDB is a fast and reliable persistence solution already in use at companies like Heroku and Shopify. The project author is active on Github and the repo has gathered a community around it. As far as Golang key-value pairs data storage goes, BoltDB is the only option in my opinion.

What business problems are you solving with the product? What benefits have you realized?

I use boltdb to provide persistence to custom devops apps and integrating it into in-house microservices for survivability. Since it's written in Go, custom apps are still single static binaries, which I can just give a user an executable and still enjoy reliable persistence.

BoltDB review by George M.
George M.
Validated Reviewer
Review Source

"BoltDB"

What do you like best?

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.

What do you dislike?

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.

Recommendations to others considering the product

Read the caveats. Make sure you're solving a problem that suits BoltDBs capabilities.

What business problems are you solving with the product? What benefits have you realized?

I used BoltDB to build information from docker container builds. The output of those tasks, when they happened and to store configuration for performing a build. I have also investigated using it as a general purpose content storage solution. I think more investigation is required for bolt as a storage layer, however, I am optimistic. I think the bleve projects use of BoltDB for storing searchable indexes to enable full-text search, is a promising example of Bolts flexibility.

BoltDB review by User in Internet
User in Internet
Validated Reviewer
Review Source

"Abandoned after difficulty with the Golang API"

What do you like best?

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.

What do you dislike?

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.

Recommendations to others considering the product

P.S. "Confirm yourself as a user by uploading a screenshot showing you logged into this product." , what? who wrote this survey?

What business problems are you solving with the product? What benefits have you realized?

Geographic search engine. In the end I opted for ledisdb because it abstracts many APIs in to a single API, meaning that I only needed to implement a single API and then test on multiple backends.

P.S. I'm not sure about the options in the dropdown below, so I'm selecting 'User', none of these are software developer roles!?

BoltDB review by Administrator in Computer Software
Administrator in Computer Software
Validated Reviewer
Review Source

"BoltDB Enabled Parallel Database Programming in Go"

What do you like best?

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.

What do you dislike?

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.

Recommendations to others considering the product

To developers...

Read the documentation well

Sort data before inserting into the database

What business problems are you solving with the product? What benefits have you realized?

My primary experience using Bolt was to build a parallel database optimized for read performance. The project I built had the Bolt database stored on 32 nodes. When a query is run, the database is divided among the available nodes and then each node queries its part of the database and the results of node are aggregated together.

BoltDB review by Dan E.
Dan E.
Validated Reviewer
Review Source

"Great for quick lookups and simple application storage"

What do you like best?

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.

What do you dislike?

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

What business problems are you solving with the product? What benefits have you realized?

Data lookups / data caching / simple application storage. I like the ease of use.

BoltDB review by Wesley H.
Wesley H.
Validated Reviewer
Verified Current User
Review Source

"BoltDB Review"

What do you like best?

BoltDB's portability on Windows/Mac/Etc.

What do you dislike?

Bucket iteration API. could be made simpler.

Recommendations to others considering the product

I recommend BoltDB as a lightweight embedded solution with all the features being cross platform on Mac, Windows and Linux.

What business problems are you solving with the product? What benefits have you realized?

By using BoltDB as a database for animation tracking, we can store up to 10,000+ key values inside the database without expecting a storage bottleneck for our users who install our program. It is almost seamless to use.

BoltDB review by Administrator in Information Technology and Services
Administrator in Information Technology and Services
Validated Reviewer
Review Source

"An easy-to-use embedded DB"

What do you like best?

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.

What do you dislike?

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.

What business problems are you solving with the product? What benefits have you realized?

I used to use Bolt for logs storage system.

BoltDB review by User in Consumer Services
User in Consumer Services
Validated Reviewer
Verified Current User
Review Source

"Easy persistence for simple needs"

What do you like best?

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.

What do you dislike?

I haven't stumbled upon anything I dislike. Everything seems logical and orthogonal.

Recommendations to others considering the product

Consider Bolt when you need persistence, you're open to seminiche products, Go is your language to go, NoSQL suits you and FOSS is the way to go.

What business problems are you solving with the product? What benefits have you realized?

Saving all the data of a proof-of-concept textboard project

BoltDB review by Etienne B.
Etienne B.
Validated Reviewer
Review Source

"Satisfied user"

What do you like best?

Simplicity; you can store any slice of bytes.

Portability; you don't need a database service running.

What do you dislike?

It often requires you to do a lot of serialization.

Recommendations to others considering the product

If you plan to grow to more than one server, BoltDB might not be for you. You could use BoltDB, but it'd be wise to use a Go "interface" in case you ever need to replace BoltDB with something more scalable.

What business problems are you solving with the product? What benefits have you realized?

Storing data without requiring a running database service.

BoltDB review by Adrian L.
Adrian L.
Validated Reviewer
Review Source

"Excellent reliable goto key/value store"

What do you like best?

BoltDB's simple API makes it fast and easy to get setup and allows you to get back to solving business problems.

What do you dislike?

Large bulk writes are slow, so the initial loading of the database with data can take a while but this is pointed out in the documentation and the reasons for that.

What business problems are you solving with the product? What benefits have you realized?

I have utilised BoltDB in several command line utilities that have required lightweight persistence.

BoltDB review by Administrator in Hospital & Health Care
Administrator in Hospital & Health Care
Validated Reviewer
Review Source

"BoltDB tl;dr review"

What do you like best?

BoltDB has quick reads and is embedded, two things that have come to great value in several of my projects.

What do you dislike?

The API takes a little getting used to, but I understand why that's the route they took. There is a wrapper out there (I forget the name) that simplifies it.

Recommendations to others considering the product

If it fits your requirements and use case, then use it. It's a great key-value store.

What business problems are you solving with the product? What benefits have you realized?

I work in the medical industry and sometimes you just need to grab data quickly. BoltDB has helped achieve this early on in the development cycle.

BoltDB review by User in Computer Games
User in Computer Games
Validated Reviewer
Review Source

"Nice K/V database"

What do you like best?

Simple structure

Easy to use with Golang based projects

Fast (well, every memory database is fast, but BoltDB made the best.

What do you dislike?

Nothing, I think that BoltDB sticks to KISS( keep it simple and stupid)

Recommendations to others considering the product

If you looking for K/V db with Golang, Boltdb is your choice.

What business problems are you solving with the product? What benefits have you realized?

We use Golang builtin "map" + "gob" to solve K/V storage, however self made database go slower when data grown.

BoltDB is the database meet our requirement, no more no less.

BoltDB review by Cesar G.
Cesar G.
Validated Reviewer
Review Source

"Simple and fast pure Go key/value database"

What do you like best?

Fast and simple. Don't require a full db

What do you dislike?

The footprint of the code could be smaller

What business problems are you solving with the product? What benefits have you realized?

I used as a quick and efficient way to build a configuration server where múltipla systems can read parameters from a central point.

BoltDB review by User in Information Technology and Services
User in Information Technology and Services
Validated Reviewer
Review Source

"embedded key value storage"

What do you like best?

Simplicity, easy to manage, easy to use. Embedded solution, platform to build distributed storage systems on top of it.

What do you dislike?

Some API inconvenience, I had to write little wrapper on top of boltdb. Too simple functionality, API extension is required.

What business problems are you solving with the product? What benefits have you realized?

To build fault tolerant distributed systems with no single point of failure. The benefit is to embed key-value storage into service node with file persistence.

BoltDB review by Mohamed C.
Mohamed C.
Validated Reviewer
Review Source

"Simplifier"

What do you like best?

portability and simplicity to setup in dev process

What do you dislike?

nothing, but would love to see more active dev

What business problems are you solving with the product? What benefits have you realized?

Create a simple appication that host emergency numbers

Kate from G2 Crowd

Learning about BoltDB?

I can help.
* We monitor all BoltDB reviews to prevent fraudulent reviews and keep review quality high. We do not post reviews by company employees or direct competitors. Validated reviews require the user to submit a screenshot of the product containing their user ID, in order to verify a user is an actual user of the product.