Introducción a las Graph Databases
Marta Chippirras | 13 de abril de 2016 | Añadir comentario
Más sobre: Sin categoría
Actualmente encontramos diversas opciones a la hora de escoger un mecanismo de persistencia para los datos de un sistema de información. Existen bases de datos relacionales (especialmente indicadas para aquellos procesos en los que la transaccionalidad es crítica), NoSQL (si queremos velocidad y rendimiento en I/O), BigData (enormes volúmenes de datos no estructurados)… y entre otros, las Graph Databases (bases de datos de grafos).
Las Graph Databases son la opción idónea cuando el valor de nuestros datos no reside realmente en su contenido, sino en la forma en que los datos se relacionan entre sí: cuando las consultas a base de datos no se escriben para consultar el valor de los datos, sino más bien el camino que se establece entre ellos. Es algo que puede resultar confuso, pero se ve más claro con un ejemplo.
Si en nuestra base
de datos tenemos que almacenar un callejero, almacenaríamos las calles, sus intersecciones, carreteras, nombres de calles, velocidad máxima de circulación… estos son los valores.
Sin embargo, en SQL y NoSQL, es muy dificil, casi imposible, hacer una consulta que nos devuelva lo siguiente: “dame la ruta optima entre la calle X y la calle Y, sin pasar por ningún túnel”.
Por sorprendente que parezca, es trivial construir un sistema de este tipo usando una base de datos de grafos, y no son algo nuevo, aunque sí lo son las herramientas que han aparecido recientemente y que facilitan su uso (por no exigir conocimientos matemáticos de resolución de grafos).
En el seminario veremos brevemente una de estas alternativas, Neo4j, comentaremos ejemplos en los que un grafo es mejor que otro tipo de relación, levantaremos una base de datos y haremos algunas consultas de ejemplo.
Más sobre: Sin categoría