Bases de datos basadas en grafos

Bases de datos basadas en grafos


Bases de datos basadas en grafos

Lo cierto es que en la actualidad, hablar de bases de datos es algo que se ha hecho muchísimo. Hace más de 20 años, las bases de datos estaban en boca de todo el mundo (principalmente por el uso de bases de datos relacionales, frente a las bases de datos jerárquicas).

Por suerte, la tecnología ha avanzado a grandes pasos en los últimos años, haciendo que en la actualidad nuestro intercambio de información sea mucho más rápido y ágil.

No obstante, el concepto de lo que es una “base de datos” sigue vigente y lo podemos definir como una “colección” de información que está organizada de manera que un programa de ordenador pueda seleccionar los datos que necesite.

De todas formas, las bases de datos, no es algo tan trivial ya que hay que analizar cómo se organiza la información para conseguir crear diferentes bases de datos.

¿Cómo han evolucionado las bases de datos?

Normalmente, los ficheros de texto son explotados como bases de datos, de esta manera se trata la información en función de la posición que tiene dentro del fichero. No obstante, uno de los grandes problemas surgía cuando se trataba de la consistencia e integridad de los datos. 

En el caso de aplicaciones de gestión, siguen existiendo aplicaciones que usan ficheros de texto como si fuesen bases de datos. Para solventar este problema, surgieron las bases de datos jerárquicas. No obstante seguían siendo demasiado simples para poder modelizar comportamientos dentro de una aplicación. Esto hacía que los resultados fuesen simples y requirieran la repetición de datos ya introducidos.

De esta manera es como surgió el SQL (Structured Query Language). El SQL se convirtió rápidamente en un standard en relación a la gestión de datos. Además de esta forma se incluyeron nuevas funcionalidades, haciendo que fuese un modelo útil e interesante durante años.

Cuando apareció la web 2.0 y la programación, surgieron bases de datos más simples, flexibles y open source. Además surgieron los esquemas de gestión de archivos XML, XMLT, Json… Además de aparecer el NoSQL. Con la aparición de las redes sociales, surge una nueva problemática que es la gestión de toda esa información que se genera.

En principio, la primera solución que se buscó para esto fue optar por usar un mayor número de máquinas. No obstante, aparte de ser una solución cara, no terminaba de arreglar el problema. Otra de las soluciones fue crear un sistema para un uso específico, lo que dio pie a la aparición del movimiento NoSQL.

Cuando hablamos de bases de datos NoSQL, hablamos de estructuras pensadas para almacenar información. No obstante, este tipo de bases de datos, no cumplen con el esquema entidad-relación. Además, tampoco usan una estructura siguiendo un formato tabla, sino que usan formatos de clave- valor, mapeo de columnas y grafos.

Dado el enorme volumen de datos, se suele usar el Big Data, para procesar la información. Y de ahí llegamos a la tecnología de gestión de datos.

Lo cierto es que elegir qué gestor de base de datos debemos usar no es nada fácil, las bases de datos SQL siguen siendo estables, además de contar con nuevas funcionalidades de Big Data y Business Intelligence.

Bases de datos orientadas a grafos

 Las bases de datos orientadas a grafos, no dejan de ser bases de datos NoSQL. No obstante dá igual con quién hables de datos, seguramente en todos los casos todos te recalcarán la importancia del Big Data para extraer el mayor valor a la información.

Cuando hablamos de las bases de datos orientadas a grafos (BDOG), estas nos ayudarán a encontrar relaciones entre los datos. Una de las más conocidas y usadas es Neo4j. Además, cada vez más empresas se lanzan a usar las bases de datos orientadas a grafos, teniendo esta tecnología ya implementada en eBay, Walmart, Telenor, UBS, Cisco…

Tipos de grafos

En la actualidad, tenemos diferentes tipos de grafos que podemos usar:

  • Grafos no dirigidos: en este caso tanto los nodos como las relaciones son intercambiables. Un ejemplo serían las relaciones de amistad en una red social.
  • Grafos dirigidos:  tanto los nodos como las relaciones no son bidireccionales. Un ejemplo sería twitter.
  • Grafos con peso: en estas gráficas, las relaciones tienen valoraciones numéricas.
  • Grafos con etiquetas: estos grafos van a llevar incorporadas diferentes etiquetas definidas en distintos vértices.
  • Grafos de propiedad: son grafos con etiquetas y que se les puede asignar propiedades a nodos como relaciones.

Conclusión

Sin duda alguna, los grafos tienen una gran aplicación al sector financiero y de control del fraude, ya que se pueden aplicar con enormes beneficios. No obstante también se aplica a otros muchos sectores, para poder cruzar grandes volúmenes de datos, realizando un análisis de la información y mostrando diferentes hipótesis.