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
- Wikipedia, CAP theorem (Síntesis, 21-07-2026)