Contenido del curso
Manipulación de Datos en MongoDB
- 3

Creación y Gestión de Bases de Datos NoSQL con MongoDB
10:49 min - 4

Conexión y gestión básica de MongoDB con Compass y Atlas
09:15 min - 5

Inserción de Documentos en MongoDB: Insert One y Insert Many
07:54 min - 6

Eliminación de Documentos en MongoDB: Comandos y Prácticas Seguras
04:33 min - 7

Consultas Avanzadas en MongoDB: Uso de Compass y la Terminal
09:38 min - 8

Consultas Avanzadas con el Aggregation Framework de MongoDB
07:35 min - 9

Uso de Lookup en MongoDB para Relaciones entre Colecciones
05:46 min - 10

Reemplazo y Modificación de Documentos en MongoDB
08:26 min - 11

Actualización y Reemplazo de Documentos en MongoDB
07:36 min
Tipos de Bases de Datos NoSQL
- 12

Estructuras de Datos en Grafos para Redes Sociales
03:03 min - 13

Nodos y relaciones en Neo4j con Cypher
Viendo ahora - 14

Bases de datos documentales vs SQL
03:18 min - 15

Bases de Datos Clave-Valor: Simplicidad y Alto Rendimiento
02:59 min - 16

Bases de Datos Vectoriales: Conceptos y Aplicaciones Prácticas
06:34 min
Pasos Futuros
Nodos y relaciones en Neo4j con Cypher
Resumen
Crear una base de datos de grafos con Neo4j Aura te permite modelar relaciones entre entidades de forma nativa, sin depender de joins costosos como en SQL. Aquí aprendes a configurar una instancia gratuita, crear nodos y conectar relaciones usando el lenguaje de consultas Cypher, ideal si trabajas con redes sociales, recomendaciones o cualquier sistema donde las conexiones importen tanto como los datos.
Cómo creo una instancia gratuita en Neo4j Aura
Neo4j Aura es el servicio autoadministrado en la nube de Neo4j. Para empezar solo necesitas un correo electrónico y unos minutos de paciencia mientras se aprovisiona la instancia [01:00].
Desde la página oficial entras a Aura Login, creas tu cuenta y eliges el plan gratuito. Esta opción te da espacio para hasta 200.000 nodos y 400.000 conexiones, suficiente para practicar y prototipar.
¿Qué es Neo4j Aura? Es la versión administrada en la nube de Neo4j. Tú no instalas nada: solo creas la instancia, descargas las credenciales y empiezas a escribir consultas en Cypher.
Un detalle que no puedes saltarte: al crear la instancia aparece un archivo con tus credenciales. Descárgalo en ese momento, porque ahí está la contraseña que usarás para abrir el área de trabajo [01:30].
Cómo creo nodos en Cypher con la palabra reservada CREATE
Una vez dentro del área de trabajo, los nodos se generan con la instrucción CREATE seguida de paréntesis, un identificador, el tipo de entidad y las propiedades entre llaves.
En el ejemplo del ejercicio se crean tres personas en un solo comando:
cypher CREATE (Alice:Person {name: 'Alice', age: 24}), (Samantha:Person {name: 'Samantha', age: 24}), (Bob:Person {name: 'Bob', age: 19})
Este lenguaje se llama Cypher y es el estándar para consultar grafos en Neo4j. Si vienes de SQL o JavaScript, la sintaxis se siente distinta: las propiedades usan dos puntos, no signo de igual. Ese fue justamente el primer error que apareció al ejecutar el comando [04:30].
Después de ejecutar, en el panel izquierdo aparece la etiqueta Person y al darle clic visualizas los tres nodos con sus propiedades. Pero todavía están sueltos, sin relaciones entre ellos.
Cómo conecto nodos con relaciones tipo friend usando MATCH y CREATE
Para generar una arista entre dos nodos existentes, primero los buscas con MATCH, los filtras por una propiedad y luego creas la conexión con CREATE.
La consulta para conectar a Alice con Bob como amigos queda así:
cypher MATCH (a:Person), (b:Person) WHERE a.name = 'Alice' AND b.name = 'Bob' CREATE (a)-[:friend]->(b)
La notación -[:friend]-> representa visualmente la arista: una flecha donde el texto entre corchetes es el nombre de la relación. Aquí elegimos friend pensando en una red social, pero podrías usar follows, likes o cualquier otro tipo según el caso de uso [06:30].
¿Cuál es la diferencia entre amigos y seguidores en un grafo? Los amigos son una relación bidireccional, como en Facebook. Los seguidores son unidireccionales, como en una página o en Twitter. El tipo de relación define qué información puede fluir entre los nodos.
Al visualizarlo, ya aparece la línea conectando a Alice y Bob con la etiqueta friend.
Cómo consulto los amigos de un nodo con collect y return
La ventaja real de un grafo aparece cuando consultas a través de las relaciones. Para obtener los amigos de Alice, la consulta combina MATCH con la relación y un RETURN que recolecta los nombres conectados:
cypher MATCH (alice:Person {name: 'Alice'})-[:friend]-(friends) RETURN alice.name, collect(friends.name) AS friend_names
El resultado es una tabla con el nombre de Alice y un arreglo con los nombres de las personas conectadas a ella por una relación friend [09:00].
¿Por qué los grafos son más rápidos que SQL para relaciones? En SQL necesitas joins entre tablas con llaves foráneas, y a escala esos joins consumen mucho cómputo. En un grafo las conexiones son nativas: recorrer una relación es una operación directa, no una búsqueda en otra tabla.
Qué hace especial a una base de datos de grafos frente a SQL
La diferencia clave es que las relaciones viven dentro del modelo, no se reconstruyen en cada consulta. Eso cambia tres cosas concretas en tu día a día como desarrollador:
- Rendimiento: recorrer relaciones no escala con el tamaño total de la base, sino con la cantidad de conexiones del nodo que consultas.
- Expresividad: la sintaxis de Cypher se parece a dibujar el grafo, lo que hace consultas complejas más legibles.
- Modelado natural: redes sociales, recomendaciones, fraude o rutas se modelan tal como existen en la realidad.
El reto que te dejo es claro: genera la conexión de amistad entre Alice y Samantha, vuelve a ejecutar la consulta de friend_names y comparte en los comentarios la imagen de los tres nodos conectados con el resultado de tu consulta.