Saltar al contenido
Explorar conocimiento

concepto · intermedio · 2 min de lectura

Base de Datos de Grafos

Las bases de datos de grafos —Neo4j, ArangoDB— modelan datos como nodos y relaciones, permitiendo consultas sobre la topología de las conexiones que serían muy costosas en SQL.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • Base de Datos de Grafos as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

En una base de datos de grafos, los datos son nodos —entidades— y aristas —relaciones—, ambos con propiedades. A diferencia de SQL, donde las relaciones existen implícitamente mediante claves foráneas y JOINs, en un grafo las relaciones son ciudadanos de primera clase, almacenadas físicamente como punteros entre nodos.

Esto hace que consultas como «amigos de amigos que compraron este producto» sean eficientes: en SQL requerirían múltiples JOINs recursivos; en un grafo, se navegan las aristas directamente. El lenguaje de consulta estándar es Cypher (Neo4j) o Gremlin (Apache TinkerPop).

Alcance y supuestos

Cubre bases de datos de grafos, el modelo de nodos y aristas, y casos de uso. Asume familiaridad con bases de datos.

Modelo mental

Un mapa de conexiones de LinkedIn dibujado en una pizarra con círculos —personas— y líneas —conexiones—. Para saber si dos personas están conectadas, seguís las líneas. No necesitás una tabla de «personas» y otra de «amistades» con un JOIN: la línea ya está dibujada.

Uso práctico

  • ✅ Redes sociales, motores de recomendación, detección de fraude, grafos de conocimiento.
  • ❌ Datos tabulares sin relaciones complejas que explorar.

Ejemplo trabajado: recomendaciones en Neo4j

MATCH (u:User {id: 42})-[:PURCHASED]->(p:Product)<-[:PURCHASED]-(other:User)-[:PURCHASED]->(rec:Product)
WHERE NOT (u)-[:PURCHASED]->(rec)
RETURN rec.name, count(*) AS score
ORDER BY score DESC LIMIT 5

Evidencia

  • Neo4j es el grafo más popular. Amazon Neptune, TigerGraph y ArangoDB son alternativas.

Fuentes citadas