Principais Alternativas de BoltDB Mais Bem Avaliadas

Eu gosto que seja fácil integrar em um projeto Go existente e começar rapidamente. Eu gosto dos exemplos no site do Github. Eu gosto que você não precise instalar uma instalação completa de banco de dados para armazenar / buscar / procurar dados. Análise coletada por e hospedada no G2.com.
Eu não gosto que o compartilhamento de dados não seja direto. Eu não gosto que a clusterização (embora possa ser exagero para a maioria) seja inviável. Eu não gosto que mover dados de um arquivo para outro não seja direto -- mas eu gosto que seja possível com ferramentas como https://github.com/hashicorp/raft-boltdb. Análise coletada por e hospedada no G2.com.
17 de 18 Avaliações Totais para BoltDB
Sentimento Geral da Revisão para BoltDB
Entre para ver o sentimento das avaliações.

Implementação mmap super rápida onde o sistema operacional armazena tudo em cache. Dependências reduzidas e armazenamento persistente. Também permite transações e, devido ao fato de ser incorporado - sem pool de conexões. Análise coletada por e hospedada no G2.com.
Falta de opções de escalabilidade, pode colocá-lo em dia muito rapidamente e permitir que você processe muitas coisas, mas quando precisar escalar horizontalmente - você terá que procurar outros projetos. Análise coletada por e hospedada no G2.com.

Meu recurso favorito é o quão pequeno você pode manter seu banco de dados, o que é ótimo para sistemas Linux embarcados onde o armazenamento é um recurso valioso. O fato de ser escrito em Go puro, e a pilha que escrevi também ser em Go puro foi ótimo, então não precisei lidar com a complicação de compilação cruzada de algo escrito em C com ligação em Go. Análise coletada por e hospedada no G2.com.
A limitação de 1 processo por banco de dados em execução ativa significa que você não pode usá-lo para simplesmente compartilhar estado entre várias aplicações ativas, o que prejudicou o design original da minha pilha de software. Análise coletada por e hospedada no G2.com.

Quando comecei com Go (como uma alternativa ao Django/Python e seus, você sabe, problemas) enquanto desenvolvia meus vários aplicativos. Eu precisava de um banco de dados, mas estou sem dinheiro :), porque larguei meu emprego e me mudei para a África para, você sabe, fazer caridade como Bill Gates. Eu precisava criar algo rápido para atrair investidores. Eu não queria gastar mais dólares (não tinha mais) e precisava criar algo muito rápido como uma demonstração para meus potenciais investidores. Bolt veio ao resgate. Eu consegui criar minha própria API de análise de forma rápida e ágil. Bolt permite (além de uma camada que criei) prototipar rapidamente aplicativos que rodam localmente. Isso me permitiu criar um sistema de cache para meu sistema de Wi-Fi gratuito (baseado em LedisDB baseado em BoltDB). etc. Análise coletada por e hospedada no G2.com.
Bem, o que eu não gosto no boltdb me permitiu criar uma solução para isso. Eu precisava de relacionamentos, então criei uma biblioteca que fornece esse recurso. No final das contas, acho que aprendi mais sobre bancos de dados ao adicionar esse recurso. Análise coletada por e hospedada no G2.com.

Uma solução de persistência pura em Go que suporta transações e é bem documentada e confiável.
Sua documentação e API fácil de usar tornam relativamente fácil incorporar persistência em suas aplicações Go. O BoltDB fornece transações ACID totalmente serializáveis, o que garante confiabilidade no processamento. Ele também oferece funcionalidade de varredura de intervalo através de itens em ordem via seu método Cursor de bucket, bem como fornece capacidades de busca por prefixo. O BoltDB também permite a implementação fácil de backups a quente, bem como a captura de instantâneos de estatísticas. Análise coletada por e hospedada no G2.com.
Embora ser um banco de dados chave-valor permita que o BoltDB tenha uma curva de aprendizado mais baixa do que a maioria dos bancos de dados relacionais, isso também significa que você precisa escrever a lógica para utilizar adequadamente seus dados. Além disso, sendo uma novidade no mercado (assim como Go), geralmente é necessário convencer os responsáveis pelo projeto. Análise coletada por e hospedada no G2.com.

Simplicidade da API das bibliotecas. O fato de ser um banco de dados embutido, que usa um arquivo para armazenamento, torna a portabilidade e reutilização entre minhas aplicações. Muito rápido, desde que você o use para o propósito certo. A equipe do Bolt é muito aberta sobre as advertências do Bolt. Análise coletada por e hospedada no G2.com.
Difícil dar muitas críticas construtivas. Para pequenas aplicações ou dados ordenados por byte, o bolt é a sua ferramenta. Eu imagino que se você for passar um grande volume de dados por ele, eu apenas garantiria que você precisa que seus dados sejam armazenados sequencialmente. Eu não o usaria necessariamente como algum tipo de camada de cache, devido ao IO e à necessidade de implementar algum tipo de política de despejo. Análise coletada por e hospedada no G2.com.
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. Análise coletada por e hospedada no 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. Análise coletada por e hospedada no 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. Análise coletada por e hospedada no 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. Análise coletada por e hospedada no 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. Análise coletada por e hospedada no 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. Análise coletada por e hospedada no 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. Análise coletada por e hospedada no G2.com.
I haven't stumbled upon anything I dislike. Everything seems logical and orthogonal. Análise coletada por e hospedada no G2.com.