Banco de dados chave-valor persistente e incorporável, escrito em Go puro, com transações ACID e design otimizado para SSDs.
google/leveldb
Uma biblioteca rápida de armazenamento chave-valor embutido do Google, que mantém chaves e valores em strings ordenadas.
- Estrelas
- 39,503
- Forks
- 8,230
- Issues abertas
- 425
- Último commit
- há 13 dias
O que é?
LevelDB é um armazenamento chave-valor embutido, escrito em C++ no Google. Ele mapeia chaves em strings de bytes arbitrárias para valores também em strings de bytes e mantém os dados ordenados por chave, permitindo que as aplicações percorram intervalos para frente ou para trás. É uma biblioteca vinculada ao processo, não um servidor, e apenas um processo por vez (que pode ser multithread) pode abrir um determinado banco de dados.
A API se concentra em Put, Get e Delete, com lotes de gravação atômicos e snapshots temporários para leituras consistentes. Por padrão, os dados são compactados com Snappy, e Zstd também é compatível. As interações com o sistema operacional, como o acesso a arquivos, passam por uma interface virtual que os chamadores podem substituir.
LevelDB não é um banco de dados SQL e não tem índices, modelo relacional nem camada cliente-servidor integrada. O projeto está em modo de manutenção limitada e aceita principalmente correções críticas de bugs e mudanças de compatibilidade. A compilação é feita com CMake em sistemas POSIX e no Windows.
Recursos principais
- 01Chaves e valores são arrays de bytes arbitrários, armazenados em ordem por chave.
- 02Oferece suporte a funções de comparação personalizadas para alterar a ordem de classificação.
- 03Oferece lotes de gravação atômicos e snapshots temporários.
- 04Permite percorrer os dados para frente e para trás.
- 05Compacta os dados com Snappy por padrão e também oferece suporte a Zstd.
- 06Permite que os chamadores substituam a camada de interação com o sistema operacional por meio de uma interface virtual.
Casos de uso
- Incorporar um cache ou índice local e rápido de chave-valor em uma aplicação C++.
- Armazenar dados ordenados que precisam de consultas por intervalo de chaves.
- Criar um mecanismo de armazenamento ou servidor personalizado sobre um armazenamento embutido.
Início rápido
- 1
Clone o repositório com os submódulos
git clone --recurse-submodules https://github.com/google/leveldb.git - 2
Crie um diretório de build e configure-o com o CMake
mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. - 3
Compile a biblioteca
cmake --build .
Antes de usar
- Somente um processo (possivelmente multithread) pode acessar um determinado banco de dados por vez.
- Não é um banco de dados SQL e não oferece suporte integrado a cliente-servidor, índices ou modelo relacional.
- A manutenção do repositório é muito limitada; somente correções de bugs críticos e de falhas são revisadas.
Tópicos
Perguntas frequentes
- O que é leveldb?
- Uma biblioteca rápida de armazenamento chave-valor embutido do Google, que mantém chaves e valores em strings ordenadas. LevelDB é um armazenamento chave-valor embutido, escrito em C++ no Google. Ele mapeia chaves em strings de bytes arbitrárias para valores também em strings de bytes e mantém os dados ordenados por chave, permitindo que as aplicações percorram intervalos para frente ou para trás. É uma biblioteca vinculada ao processo, não um servidor, e apenas um processo por vez (que pode ser multithread) pode abrir um determinado banco de dados.
- leveldb é gratuito? Qual é a licença?
- leveldb é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- leveldb ainda é mantido?
- Manutenção ativa. O último commit de leveldb foi em 8 de out. de 2026.
- Para que posso usar leveldb?
- Incorporar um cache ou índice local e rápido de chave-valor em uma aplicação C++. Armazenar dados ordenados que precisam de consultas por intervalo de chaves. Criar um mecanismo de armazenamento ou servidor personalizado sobre um armazenamento embutido.
- Como instalar leveldb?
- Clone o repositório com os submódulos: git clone --recurse-submodules https://github.com/google/leveldb.git Crie um diretório de build e configure-o com o CMake: mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. Compile a biblioteca: cmake --build .
- Onde consigo leveldb?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/leveldb
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
DuckDB é um banco de dados SQL analítico que roda dentro da sua aplicação, sem precisar gerenciar um servidor separado.
Banco de dados SQL em processo, escrito em Rust e compatível com o dialeto, o formato de arquivo e a C API do SQLite, com um frontend experimental para Postgres.
Ferramenta visual gratuita e multiplataforma para criar, navegar, editar e consultar arquivos de banco de dados SQLite sem escrever SQL.
Um fork open source do SQLite com contribuições abertas, que adiciona réplicas embarcadas, modo de servidor remoto e extensões ao núcleo do SQLite.
Editor hexadecimal multiplataforma para engenharia reversa e análise de arquivos binários, com uma linguagem de padrões para interpretar estruturas de arquivos.