El aumento de las necesidades de análisis basado en relaciones hace que el uso de grafos esté aumentando. La existencia de bases de datos orientadas a grafos no es nueva ya que en los años 90 existían alternativas maduras pero que han tenido un uso relativamente marginal hasta ahora. Estas bases de datos se caracterizan por su flexibilidad de esquema en lo que a las relaciones entre entidades se refiere. El concepto de triples compuestos por un sujeto, un predicado o verbo y un objeto es la base de almacenamiento de estas bases de datos. El lenguaje de consulta para este tipo de bases de datos también es propio (SPARQL) y tiene ciertas similitudes con el SQL. Podéis obtener más información https://www.w3.org/RDF/ y en https://www.w3.org/TR/sparql11-query/.

En SQL Server 2017 aparece como novedad el soporte nativo para objetos de tipo nodo y aristas que nos permitirán modelar grafos dentro de nuestra base de datos de forma integrada con el resto de objetos tradicionales. Desde el punto de vista de sintaxis se añade la cláusula MATCH (traída del lenguaje Cypher) para facilitar la expresión de las relaciones de forma más natural. Al tratarse de una primera versión nos encontramos con bastantes limitaciones como por ejemplo la necesidad de convertir los updates en inserts+deletes si queremos modificar una arista que relaciona dos nodos. También tendremos limitaciones a la hora de referenciar tablas derivadas en la cláusula MATCH, lo cual nos condicionará, por ejemplo, en el uso de CTEs recursivas.

Desgraciadamente si comparamos funcionalmente la implementación de grafos en SQL Server 2017 con la de Neo4j, por ejemplo, veremos que a nivel de algoritmia estamos a años luz, teniendo que implementar de forma manual aquellos algoritmos típicos de grafos, como son el cálculo del camino más corto entre nodos, la cláusula transitiva, etc.

Finalmente bajaremos a bajo nivel para entender las «tripas» de los grafos, su estructura interna, cómo se enlazan los nodos con las aristas, etc. Esto es importante para entender desde el punto de vista de rendimiento si sería competitivo respecto a una alternativa tradicional basada en relaciones entre tablas.

A continuación, puedes ver la presentación de la charla ‘Demos la bienvenida a los grafos en SQL Server 2017’ del SolidQ Summit 2018:

 

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like

Un paseo por Azure ML Services 

Azure ML y sus recursos han expandido enormemente las posibilidades para los desarrolladores de Machine Learning y los Científicos de Datos para obtener datos, analizarlos, entrenar modelos y publicarlos. Acompañame en éste artículo para conocer los elementos básicos y saber cómo puedes aprovechar la potencia de Azure para tus desarrollos ML.
Leer más

Power BI embedded: Tus informes se vuelven omnipresentes

Crear reportes es esencial, pero, de nada sirve si no puedes compartirlos. Además de ver formas básicas de embeber un reporte de Power BI, esta sesión se centrará en cómo mostrar reportes dentro de sus propias aplicaciones web/móviles para compartir información con gente que está dentro y fuera de su organización (sin necesidad de cuenta de Power BI). Se trata brevemente Power BI Premium y Azure Power BI Embedded, así como otros temas relacionados con el licenciamiento.