NETFLIX Y SU EXITO EN EL BIG DATA

Con series como House of Cards, Netflix demuestra el poder del Big Data para crear el contenido de sus series. La estadística nos...

lunes, 1 de mayo de 2017

Almacenamiento NoSQL

El término NoSQL se refiere a Not Only SQL y son sistemas de almacenamiento que no cumplen con el esquema entidad-relación. Proveen un sistema de almacenamiento mucho más flexible y concurrente y permiten manipular grandes cantidades de información de manera mucho más rápida que las bases de datos relacionales.

  • Almacenamiento clave-valor (key-value): Los datos se almacenan de forma similar a los mapas o diccionarios de datos, donde se accede al dato a partir de una clave única. Los valores (datos) son aislados e independientes entre ellos, y no son interpretados por el sistema. Pueden ser variables simples como enteros o caracteres, u objetos. Por otro lado, este sistema de almacenamiento carece de una estructura de datos clara y establecida, por lo que no requiere un formateo de los datos muy estricto. Apache Cassandra es la tecnología de almacenamiento clave-valor más reconocida por los usuarios.

  • Almacenamiento documental: las bases de datos documentales guardan un gran parecido con las bases de datos Clave-Valor, diferenciándose en el dato que guardan. Si en la anterior no requería una estructura de datos concreta, en este caso guardamos datos semiestructurados. Estos datos pasan a llamarse documentos, y pueden estar formateados en XML, JSON, Binary JSON o el que acepte la misma base de datos.Todos los documentos tienen una clave única con la que puede ser accedido e identificado explícitamente. Estos documentos no son opacos al sistema, por lo que pueden ser interpretados y lanzar queries sobre ellos. Un ejemplo que aclare cómo se usa lo encontramos en un blog: se almacena el autor, la fecha, el título, el resumen y el contenido del post.
  • Almacenamiento en grafo: las bases de datos en grafo rompen con la idea de tablas y se basan en la teoría de grafos, donde se establece que la información son los nodos y las relaciones entre la información son las aristas, algo similar en el modelo relacional. Su mayor uso se contempla en casos de relacionar grandes cantidades de datos que pueden ser muy variables. Por ejemplo, los nodos pueden contener objetos, variables y atributos diferentes en unos y los otros. Las operaciones de join se sustituyen por recorridos a través del grafo, y se guarda una lista de adyacencias entre los nodos. Encontramos un ejemplo en las redes sociales: en Facebook cada nodo se considera un usuario, que puede tener aristas de amistad con otros usuarios, o aristas de publicación con nodos de contenidos. Soluciones como Neo4J y GraphDB son las más conocidas dentro de las bases de datos en grafo.

  • Almacenamiento orientado a columnas: Su modelo de datos es definido como “un mapa de datos multidimensional poco denso, distribuido y persistente”.26 Se orienta a almacenar datos con tendencia a escalar horizontalmente, por lo que permite guardar diferentes atributos y objetos bajo una misma clave. A diferencia del documental y el clave-valor, en este caso se pueden almacenar varios atributos y objetos, pero no serán interpretables directamente por el sistema. Permite agrupar columnas en familias y guardar la información cronológicamente, mejorando el rendimiento. Esta tecnología se acostumbra a usar en casos con 100 o más atributos por clave.28 Su precursor es BigTable de Google, pero han aparecido nuevas soluciones como HBase o HyperTable.


Publicación realizada por Edwin E. Jiménez C.

No hay comentarios:

Publicar un comentario