La base de datos es el primer punto donde un sistema empieza a ceder ante la carga, las exigencias de consistencia y los patrones de consulta reales. Este curso ofrece un enfoque accesible para analizar estas disyuntivas, abarcando desde las opciones básicas de almacenamiento hasta las réplicas, el *sharding* y la decisión final entre SQL, NoSQL o una configuración híbrida. Al finalizar, la elección de la base de datos en el diseño de un sistema dejará de ser una suposición para convertirse en una decisión fundamentada y justificada en función de las limitaciones del proyecto.
El curso aborda la contribución de una base de datos a una aplicación, cómo los patrones de acceso determinan la elección del esquema y cómo la indexación afecta a la latencia de lectura y al coste de escritura. También trata la replicación, la conmutación por error, las compensaciones en materia de consistencia, el *sharding*, la selección de la clave de particionamiento y un marco de trabajo reproducible para elegir entre SQL, NoSQL o una arquitectura híbrida.