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.