Una base de datos clave-valor persistente e integrable, escrita en Go puro, con transacciones ACID y diseño optimizado para SSD.
google/leveldb
Una biblioteca rápida de almacenamiento embebido de clave-valor de Google que mantiene las claves y los valores de tipo string ordenados.
- Estrellas
- 39,503
- Forks
- 8,230
- Issues abiertos
- 425
- Último commit
- hace 13 días
¿Qué es?
LevelDB es un almacén de clave-valor embebido escrito en C++ en Google. Asocia claves de cadenas de bytes arbitrarias con valores de cadenas de bytes y ordena los datos por clave, de modo que las aplicaciones pueden recorrer rangos hacia adelante o hacia atrás. Es una biblioteca que se enlaza con un proceso, no un servidor, y cada base de datos puede estar abierta por un solo proceso a la vez (que puede ser multihilo).
La API se centra en Put, Get y Delete, con lotes de escritura atómicos y snapshots temporales para realizar lecturas coherentes. Los datos se comprimen con Snappy de forma predeterminada y también se admite Zstd. Las interacciones con el sistema operativo, como el acceso a archivos, pasan por una interfaz virtual que quienes llaman pueden reemplazar.
LevelDB no es una base de datos SQL y no tiene índices, modelo relacional ni una capa cliente-servidor integrada. El proyecto está en modo de mantenimiento limitado y acepta principalmente correcciones de errores críticos y cambios de compatibilidad. Se compila con CMake en sistemas POSIX y Windows.
Funciones clave
- 01Las claves y los valores pueden ser matrices de bytes arbitrarias y se almacenan ordenados por clave.
- 02Admite funciones de comparación personalizadas para cambiar el orden.
- 03Ofrece lotes de escritura atómicos y snapshots temporales.
- 04Permite recorrer los datos hacia adelante y hacia atrás.
- 05Comprime los datos con Snappy de forma predeterminada y también admite Zstd.
- 06Permite reemplazar la capa de interacción con el sistema operativo mediante una interfaz virtual.
Casos de uso
- Integrar una caché o un índice local y rápido de clave-valor en una aplicación C++.
- Almacenar datos ordenados que requieran consultas por rangos de claves.
- Crear un motor de almacenamiento o un servidor personalizado sobre un almacén embebido.
Inicio rápido
- 1
Clona el repositorio con sus submódulos
git clone --recurse-submodules https://github.com/google/leveldb.git - 2
Crea un directorio de compilación y configúralo con CMake
mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. - 3
Compila la biblioteca
cmake --build .
Antes de usarlo
- Solo un proceso (posiblemente con varios hilos) puede acceder a una base de datos concreta a la vez.
- No es una base de datos SQL y no incluye compatibilidad con cliente-servidor, índices ni un modelo relacional.
- El mantenimiento del repositorio es muy limitado; solo se revisan las correcciones de errores críticos y de fallos.
Temas
Preguntas frecuentes
- ¿Qué es leveldb?
- Una biblioteca rápida de almacenamiento embebido de clave-valor de Google que mantiene las claves y los valores de tipo string ordenados. LevelDB es un almacén de clave-valor embebido escrito en C++ en Google. Asocia claves de cadenas de bytes arbitrarias con valores de cadenas de bytes y ordena los datos por clave, de modo que las aplicaciones pueden recorrer rangos hacia adelante o hacia atrás. Es una biblioteca que se enlaza con un proceso, no un servidor, y cada base de datos puede estar abierta por un solo proceso a la vez (que puede ser multihilo).
- ¿leveldb es gratuito? ¿Qué licencia tiene?
- leveldb es open source bajo la licencia BSD-3-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿leveldb sigue mantenido?
- Mantenimiento activo. El último commit de leveldb fue el 8 oct 2026.
- ¿Para qué puedo usar leveldb?
- Integrar una caché o un índice local y rápido de clave-valor en una aplicación C++. Almacenar datos ordenados que requieran consultas por rangos de claves. Crear un motor de almacenamiento o un servidor personalizado sobre un almacén embebido.
- ¿Cómo se instala leveldb?
- Clona el repositorio con sus submódulos: git clone --recurse-submodules https://github.com/google/leveldb.git Crea un directorio de compilación y configúralo con CMake: mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. Compila la biblioteca: cmake --build .
- ¿Dónde consigo leveldb?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/google/leveldb
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
DuckDB es una base de datos SQL analítica que se ejecuta dentro de tu aplicación, sin necesidad de administrar un servidor independiente.
Una base de datos SQL en proceso, escrita en Rust y compatible con el dialecto, el formato de archivo y la API de C de SQLite, con un frontend experimental para Postgres.
Herramienta visual gratuita y multiplataforma para crear, explorar, editar y consultar archivos de bases de datos SQLite sin escribir SQL.
Fork de SQLite de código abierto y con contribuciones abiertas, que añade réplicas integradas, un modo de servidor remoto y extensiones al núcleo de SQLite.
Editor hexadecimal multiplataforma para ingeniería inversa y análisis binario, con un lenguaje de patrones para interpretar estructuras de archivos.