Tema 3 de 5
Una vez conocida la forma de los datos, toca elegir dónde guardarlos: una base de datos relacional, una NoSQL o un almacén de archivos. El examen pide distinguir los cuatro tipos de base de datos no relacional y asociar cada necesidad con el servicio de Azure adecuado.
Contenido
Una base de datos es un sistema central en el que los datos se guardan y se consultan. En sentido amplio, el sistema de archivos también es una especie de base de datos, pero en un contexto profesional el término se refiere a un sistema dedicado a gestionar registros de datos, no archivos.
Se usan para guardar y consultar datos estructurados. Los datos se guardan en tablas que representan entidades (clientes, productos, pedidos).
Clave principal: Cada instancia de una entidad recibe una clave que la identifica de forma única.
Referencias: Esas claves se usan para referenciar la instancia desde otras tablas: un pedido guarda la clave de su cliente.
Normalización: Gracias a las claves se eliminan valores duplicados: los datos de un cliente se guardan una sola vez, no en cada pedido.
SQL: Las tablas se gestionan y consultan con Structured Query Language, basado en un estándar ANSI y parecido entre sistemas.
El dominio D2 profundiza en el modelo relacional, SQL y los servicios relacionales de Azure.
Son sistemas de gestión de datos que no aplican un esquema relacional. Se les suele llamar NoSQL, aunque algunas admiten una variante del lenguaje SQL.
Clave-valor
Cada registro tiene una clave única y un valor asociado, que puede tener cualquier formato.
Documentos
Una forma de clave-valor en la que el valor es un documento JSON que el sistema está optimizado para analizar y consultar.
Familia de columnas
Datos tabulares con filas y columnas, pero las columnas se dividen en grupos (familias) de columnas relacionadas lógicamente.
Grafos
Entidades como nodos, con enlaces que definen las relaciones entre ellas.
Truco para recordarlos
Clave-valor: busco por clave. Documentos: consulto dentro del JSON. Familia de columnas: tablas anchas con columnas agrupadas. Grafos: me importan las relaciones. En Azure, Azure Cosmos DB admite los cuatro modelos mediante distintas API (D3).
| Almacén de archivos | Base de datos | |
|---|---|---|
| Unidad | Archivos (CSV, JSON, Parquet, imágenes…) | Registros gestionados por el sistema |
| Bueno para | Grandes volúmenes, binarios, data lakes | Consultas, actualizaciones y transacciones frecuentes |
| Ejemplo en Azure | Blob Storage, Data Lake Storage Gen2, Azure Files | Azure SQL Database, Cosmos DB |
Azure ofrece muchos servicios de datos. No hace falta memorizarlos todos: basta con conocer los tipos de herramienta y para qué sirven. Dos modelos de entrega aparecen a menudo: PaaS (Microsoft gestiona la infraestructura: servidores, parches, copias de seguridad) y SaaS (el producto completo se entrega listo para usar).
Azure SQL
Familia relacional basada en el motor de SQL Server: Azure SQL Database (PaaS), SQL Managed Instance y SQL Server en máquinas virtuales.
Bases de datos de código abierto
Azure Database for MySQL y Azure Database for PostgreSQL, servicios gestionados.
Azure Cosmos DB
Base de datos NoSQL de escala global con varias API: documentos JSON, clave-valor, familias de columnas y grafos.
Azure Storage
Contenedores de blobs para binarios, recursos compartidos de archivos y tablas clave-valor. Con espacio de nombres jerárquico aloja data lakes.
Microsoft Fabric y OneLake
Plataforma SaaS de análisis con un único almacén compartido, OneLake. Incluye lakehouse, warehouse y bases de datos (SQL database y Cosmos DB en Fabric).
Azure Data Explorer
Plataforma gestionada de análisis de big data para consultar logs y telemetría con atributo de marca de tiempo.
| Necesidad | Almacén de Azure |
|---|---|
| Datos transaccionales de una app de negocio sobre SQL Server | Azure SQL (Database, Managed Instance o SQL Server en VM) |
| App LAMP o equipo con experiencia en PostgreSQL | Azure Database for MySQL / PostgreSQL |
| Documentos JSON, clave-valor, familias de columnas o grafos a escala global | Azure Cosmos DB |
| Archivos binarios: imágenes, video, copias de seguridad | Azure Blob Storage |
| Recursos compartidos de red en la nube | Azure Files |
| Pares clave-valor sencillos y rápidos | Azure Table Storage |
| Data lake con carpetas reales para análisis | Azure Data Lake Storage Gen2 (o OneLake en Fabric) |
| Logs y telemetría con marca de tiempo | Azure Data Explorer o Real-Time Intelligence de Fabric |
Los servicios relacionales se explican en D2 (Azure SQL Database y los de código abierto), y los no relacionales en D3 (Blob Storage, Files, Tables y Cosmos DB).
| Situación | Respuesta | Por qué |
|---|---|---|
| Guardar la red de amistades de una red social y recorrer conexiones | Base de datos de grafos | Nodos y relaciones como ciudadanos de primera. |
| Guardar la sesión de un usuario con un identificador y un valor | Clave-valor | Búsqueda directa por clave. |
| Catálogo de productos en JSON con atributos distintos por categoría | Base de datos de documentos | Documentos JSON que el sistema sabe consultar. |
| Datos tabulares con columnas agrupadas lógicamente | Familia de columnas | Columnas divididas en grupos relacionados. |
| Pedidos y clientes enlazados por claves y consultados con SQL | Base de datos relacional | Tablas normalizadas y SQL estándar. |
| Fotos subidas por los usuarios de una app | Azure Blob Storage | Almacenamiento barato y escalable de binarios. |
| Analizar logs de aplicaciones por marca de tiempo | Azure Data Explorer | Optimizado para log y telemetría. |
❓ ¿«NoSQL» significa que la base de datos no admite ningún tipo de SQL?
No. Significa que no aplica un esquema relacional; algunas admiten una variante de SQL.
❓ ¿Una base de datos de documentos es distinta de una clave-valor?
Es una forma específica de clave-valor en la que el valor es un documento JSON que el sistema sabe consultar.
❓ ¿Qué tipo de NoSQL guarda entidades como nodos con enlaces entre ellas?
Una base de datos de grafos.
❓ ¿La familia de columnas guarda datos sin filas ni columnas?
No. Guarda filas y columnas, pero agrupa las columnas en familias relacionadas.
❓ ¿Para qué sirven las claves en una base de datos relacional?
Identifican cada fila de forma única y permiten referenciarla desde otras tablas, lo que evita duplicar datos.
❓ ¿Qué servicio de Azure admite los cuatro modelos NoSQL?
Azure Cosmos DB, mediante sus distintas API.
¿Entendiste este tema?
Pon a prueba lo que acabas de aprender
Una aplicación de recomendaciones necesita recorrer rápidamente quién sigue a quién y qué productos han comprado sus contactos. ¿Qué tipo de base de datos encaja mejor?
Preguntas originales, cada una con su explicación.
Empezar un simulacro