13 marzo, 2009

Repaso a las nuevas bases de datos ligeras

  • Redis es una base de datos de clave-valor. Es similar a memcached pero el conjunto de datos no es volátil y los valores pueden ser cadenas (como memcached), pero también listas y conjuntos con operaciones atómicas para introducir y extraer elementos. Para ser muy rápido pero al mismo tiempo persistente, el conjunto completo de datos se mantiene en memoria y cada cierto tiempo o cuando hay un número suficiente de cambios en los datos se escribe de forma asíncrona al disco. Pueden perderse por tanto las últimas consultas lo que es aceptable en muchas aplicaciones aunque permite velocidades tan rápidas como las de una base de datos sobre memoria.
  • LightCloud es una base de datos distribuida y persistente basada en clave-valor. Construida sobre Tokyo Tyrant. Ofrece un gran rendimiento, almacena millones de claves en muy pocos servidores, fácil de escalar simplemente añadiendo nodos, tolerancia a fallos y balanceo de carga, extensible usando Lua, copias de seguridad y restauración en caliente, huella muy pequeña y programado sobre Python aunque extensible a cualquier otro lenguaje.
  • CouchDB es una base de datos distribuida, tolerante a fallos, sin esquema y orientada a documentos. Es accesible via una API RESTful sobre HTTP/JSON. Entre otras características, provee una replicación robusta, incremental con detección y resolución bidireccional de conflictos. Permite consultas e indexado utilizando un motor de vistas orientado a tablas con Javascript actuando como lenguaje de definición.
  • Google Big Table es un sistema de almacenamiento distribuido para gestionar datos estructurados diseñados para escalar a tamaños enormes: petabytes de datos repartidos sobre miles de servidores de mercado. Algunos proyectos de Google almacenan datos en Bigtable, incluyendo el indexado de webs, Google Earth, y Google Finance. Estas aplicaciones ubican demandas muy diferentes sobre Bigtable, tanto en términos del tamaño de los datos (desde URLs hasta páginas web hasta imágenes de satélite) y requerimientos de latencia (desde procesamiento retardado en grandes cantidades hasta servir datos en tiempo real).
  • Drizzle es una base de datos optimizada para aplicaciones de Red o en la nube. Se está diseñando para concurrencia masiva sobre arquitecturas modernas multi-núcleo. El código está derivado originalmente de MySQL y está enfocado en hacer una base de datos: fiable; rápida y escalable; diseño simple para facilitar la instalación y la gestión.
  • Amazon SimpleDB es un servicio web que provee funciones básicas de base de datos como indexado y consulta. Este servicio funciona en consonancia con el Amazon Simple Storage Service (Amazon S3) y con Amazon Elastic Compute Cloud (Amazon EC2), ofreciendo colectivamente la habilidad de almacenar, procesar, y consultar conjuntos de datos en la nube, facilitando la computación a escala web y resultando más económica para los desarrolladores.
  • Tokyo Cabinet es una biblioteca de rutinas para gestionar una base de datos. La base de datos es un simple archivo de datos conteniendo registros, cada uno de ellos es una tupla de clave y valor. Cada clave y valor es una cadena de bytes de longitud variable. Pueden usarse una cadena de carácteres o una binaria como clave o como valor. No hay concepto de tabla de datos ni de tipos de datos. Los registros se organizan en una tabla hash, árbol B+, o un array de longitud fija.

Addendum: Actualizo este artículo con el de Sentido Web que ofrece otras opciones:

Alternativas opensource de BigTable de Google:
Alternativas opensource de Amazon Dynamo, almacenamiento distribuido:
Otros proyectos interesantes:
  • MongoDB: almacenamiento de documentos
  • Scalaris: sistema de almacenamiento distribuido, escalable y transaccional

Publicar un comentario en la entrada

Últimos links en indiza.com