LevelDB

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
LevelDB
Desarrollador
Jeffrey Dean, Sanjay Ghemawat
code.google.com/p/leveldb/
Información general
Género Bases de datos
Programado en C++
Licencia New BSD License
En español No No
[editar datos en Wikidata]

LevelDB es una base de datos 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.

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 ésta 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.[1] 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.[2] 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. «IndexDB» (en inglés). Mozilla. Consultado el 6 de noviembre de 2012.
  2. «LevelDB Benchmarks» (en inglés). Google. Consultado el 12 de diciembre de 2012.

Enlaces externos[editar]