LevelDB Es una biblioteca de almacenamiento rápido de código abierto basada en pares clave-valor con almacenamiento en disco. Está escrita por Jeffrey Dean y Sanjay Ghemawat de Google, que también escribieron parte de la plataforma Google. Está inspirada en BigTable, y el código del proyecto se almacena en Google bajo la nueva licencia BSD. Ha sido portada a distintos sistemas Unix, Mac OS X, Windows y Android.

LevelDB
Información general
Tipo de programa Bases de datos
Desarrollador Jeffrey Dean, Sanjay Ghemawat
Lanzamiento inicial 2011
Licencia New BSD License
Información técnica
Programado en C++
Versiones
Última versión estable 1.2323 de febrero de 2021
Enlaces

Aunque algunos lo definan como una base de datos, en su github oficial, es definida como una biblioteca y no como una base de datos.[1]

Características editar

LevelDB almacena claves y valores en matrices arbitrarias de bytes, y los datos se ordenan por la clave. Soporta escrituras en lote, iteraciones hacia adelante y hacia atrás, y compresión de datos mediante la librería Snappy de Google.

LevelDB no es una base de datos SQL. Al igual que otros almacenamientos NoSQL y Dbm, no posee un modelo de datos relacional, no soporta sentencias SQL y no soporta índices. Las aplicaciones han de usar LevelDB como una librería, ya que esta no incluye interfaz de comandos.

Historia editar

LevelDB se basa en conceptos del sistema de base de datos BigTable de Google. La implementación de BigTable comenzó alrededor de 2004 y desarrolló un código fuente propietario. Dicho código fuente se basa en una serie de librerías de Google cuyo código no está abierto, por lo que no resultaban adecuadas para realizar el proyecto levelDB en código abierto. Jeff Dean y Sanjay Ghemawat se propusieron crear un sistema parecido a BigTable que tuviera mínimas dependencias con BigTable y fuera adecuado para ser puesto a disposición de la comunidad de código abierto, y que pudiera también utilizarse en Chrome para la implementación de IndexedDB.[2]​ Para ello escribieron en 2011 LevelDB, siguiendo las mismas líneas de diseño que BigTable.

Prestaciones editar

Google proporciona comparación de prestaciones entre LevelDB y SQLite y Kyoto Cabinet en distintos escenarios.[3]​ LevelDB mejora SQLite y Kyoto Cabinet en operaciones de escritura y en lecturas secuenciales. LevelDB también las supera en escrituras por lotes, pero es más lenta que SQLite cuando maneja valores grandes.

Referencias editar

  1. Features, Google, 10 de marzo de 2022, consultado el 10 de marzo de 2022 .
  2. «IndexDB» (en inglés). Mozilla. Consultado el 6 de noviembre de 2012. 
  3. «LevelDB Benchmarks» (en inglés). Google. Archivado desde el original el 20 de agosto de 2011. Consultado el 12 de diciembre de 2012. 

Enlaces externos editar