Saltar al contenido
CLF-C02Sesión 10 · Bases de datos

Relacional, NoSQL y en memoria

Si ya sabes qué son SQL, NoSQL y una caché, salta a Base de datos en EC2 o administrada.

Una base de datos relacional guarda los datos en tablas con columnas fijas, el esquema, y relaciona tablas por claves: un pedido apunta a su cliente. Se consulta con SQL, que permite unir tablas (JOIN) y filtrar por cualquier columna. Sus transacciones garantizan que un grupo de cambios se aplique entero o nada, como cobrar y descontar inventario. MySQL, PostgreSQL, Oracle y SQL Server son relacionales.

Una base de datos NoSQL renuncia al esquema fijo y a los JOIN para escalar a volúmenes enormes con respuesta rápida. Cada registro puede tener campos distintos. Hay varios tipos: clave-valor (buscas por una clave, como un diccionario), documentos (registros tipo JSON), grafos (nodos y relaciones, como “amigo de”) y otros. Así se responde la pregunta 1 del inicio: perfiles con campos distintos encajan mejor en NoSQL.

Una caché guarda en memoria (RAM) una copia de los datos que se leen mucho. Leer de memoria tarda microsegundos; leer de disco, milisegundos. La aplicación pregunta primero a la caché: si el dato está, responde de inmediato; si no, lo lee de la base de datos y lo deja en la caché para la próxima vez. Cada copia caduca tras un tiempo, el TTL (time to live), para no servir datos viejos para siempre.

116