¿Qué es una base de datos de gráficos?

La base de datos de gráficos definida

Las bases de datos de gráficos están diseñadas expresamente para almacenar relaciones y navegar por ellas. Las relaciones son ciudadanos de primera clase en las bases de datos de gráficos, y la mayor parte del valor de las bases de datos de gráficos deriva de estas relaciones. Las bases de datos de gráficos usan nodos para almacenar entidades de datos y bordes para almacenar relaciones entre entidades. Un borde siempre tiene un nodo de inicio, un nodo final, un tipo y una dirección, y puede describir las relaciones principales y secundarias, las acciones, la propiedad y cosas similares. No hay límite para la cantidad y el tipo de relaciones que un nodo puede tener.

Un gráfico de una base de datos de gráficos se puede desplazar a lo largo de tipos de bordes específicos, o por todo el gráfico. En las bases de datos de gráficos, atravesar las uniones o las relaciones es muy rápido porque las relaciones entre los nodos no se calculan en los tiempos de consulta, sino que se mantienen en la base de datos. Presentan ventajas con respecto a los casos de uso como las redes sociales, los motores de recomendaciones y la detección del fraude, donde necesita crear relaciones entre los datos y consultarlas rápidamente.

El siguiente es un ejemplo de un gráfico de red social. Dadas las personas (nodos) y sus relaciones (bordes), puede averiguar quiénes son los "amigos de los amigos" de una persona en particular, por ejemplo, los amigos de los amigos de Sebastián. 

Un ejemplo de un gráfico de red social

Casos de uso

Detección del fraude

Las bases de datos de gráficos son capaces de ofrecer una sofisticada prevención del fraude. Con las bases de datos de gráficos, puede usar las relaciones para procesar transacciones financieras y de compras casi en tiempo real. Con consultas de gráficos rápidas, podrá detectar si, por ejemplo, un posible comprador está utilizando la misma dirección de correo electrónico y tarjeta de crédito que un caso de fraude conocido. Las bases de datos de gráficos también puede ayudarle a detectar con facilidad patrones de relaciones como, por ejemplo, que varias personas tengan asociadas la misma dirección de correo electrónico personal o que varias personas compartan la misma dirección IP aunque vivan en direcciones físicas distintas. 

Motores de recomendaciones

Las bases de datos de gráficos son una buena opción para aplicaciones de recomendaciones. Con las bases de datos de gráficos, puede almacenar en un gráfico las relaciones entre las categorías de información, como intereses del cliente, amigos e historial de compras. Puede utilizar una base de datos de gráficos de alta disponibilidad para recomendar productos a un usuario a partir de los productos que han comprado otros usuarios que siguen el mismo deporte o presentan un historial de compras similar. También puede identificar a las personas que tienen un amigo en común, pero que todavía no se conocen, y enviarles una recomendación de amistad. 

Las bases de datos de gráficos más conocidas

Amazon Neptune

Amazon Neptune es un motor de base de datos de gráficos de alto rendimiento optimizado para almacenar miles de millones de relaciones y consultar el gráfico con una latencia de milisegundos. Neptune admite los modelos de gráficos populares Property Graph y Resource Description Framework (RDF) del W3C, así como sus lenguajes de consulta asociados, Apache TinkerPop Gremlin y SPARQL, lo que le permite crear consultas que navegan de manera eficiente por conjuntos de datos altamente conectados. 

Neptune ofrece alta disponibilidad, con réplicas de lectura, recuperación a un momento dado, copia de seguridad continuo en Amazon S3 y replicación entre zonas de disponibilidad. Neptune es seguro y admite cifrado en reposo. Neptune es un servicio totalmente administrado, por lo que ya no tendrá que preocuparse de las tareas de administración de base de datos, como el aprovisionamiento de hardware, la aplicación de parches de software, la instalación y configuración, la monitoreo y las copias de seguridad.

Anuncio de Amazon Neptune en AWS re:Invent 2017

Neo4j

Neo4j es una base de datos de gráficos nativa, no relacional y de código abierto que proporciona un back-end transaccional compatible con ACID para sus aplicaciones. Neo4j es una base de datos de gráficos nativa porque implementa eficientemente el modelo de gráfico de propiedades hasta el nivel de almacenamiento. Neo4j también proporciona características completas de la base de datos, que incluyen cumplimiento de transacciones ACID, soporte de clúster y conmutación por error en tiempo de ejecución. Neo4j es compatible con su propio lenguaje de consulta Cypher, así como Gremlin.

Para empezar a utilizar Neo4j, visite AWS Marketplace.