jueves, 4 de diciembre de 2014

NoSql

Nosql es el acronimo Not only Sql, las caracteristicas de la base de datos NoSQl son las siguientes:

  •  No usan SQL como el principal lenguaje de consultas.
  •  Los datos almacenados no requieren estructuras fijas
  •  No soporta Join y tampoco garantizan completamente ACID (atomicidad, consistencia, aislamiento y durabilidad).
  •  Escalan bien horizontalmente.


El teorema de CAP "es imposible para un sistema computacional distribuido ofrecer simultánamente las siguientes 3 garantías":

Consistencia : Todos los nodos ven los mismo datos al mismo tiempo.
Disponibilidad : Garantiza que cada petición recibe una respuesta acerca de si tuvo éxito o no
Tolerancia a la partición : El sistema continua funcionando a pesar de la pérdida de mensajes



Si queremos elegir una base de datos nosql, la cosa se pone un poco dificil porque actualmente hay 150 sistemas de base de datos nosql. ¿Cúal elegir? lo primero no todas las bases de datos nosql son iguales, podemos clasificar en 4 tipos diferentes:
  • Orientadas a documentos
  • Orientadas a columnas
  • Clave-valor
  • Grafos
Orientadas a documentos.

Almacena documentos en formatos XML, JSON o BSON, un ejemplo puede ser MongoDB

Orientadas a columnas.

Cada fila pude tener una configuración diferentes de columnas, un ejemplo puede ser HBase

Clave-valor

Una colección de pares clave/valor, un ejemplo pueder Redis

Grafos

Basadas en la teoría de grafos utilizan nodos y aristas para representar los datos almacenados, un ejemplo puede ser Neo4j

Como vemos tenemos un monton de tipos de bases de datos nosql para resolver cualquier tipo.
Actualemente la base de datos más usuada es mongodb debido a su modelo de datos y versatilidad


No hay comentarios:

Publicar un comentario