Microsoft AZ-204: Azure Cosmos DB — Guía de estudio

Forma parte de la Microsoft Azure Developer Associate AZ-204 — Guía de estudio. Practica con respuestas verificadas en el centro de exámenes de Microsoft, o realiza tests cronometrados en ExamRoll.io.

Información general

Azure Cosmos DB es una base de datos multimodelo, totalmente administrada y distribuida globalmente, diseñada para aplicaciones de baja latencia y elásticamente escalables. Expone múltiples API sobre un motor común de almacenamiento y replicación particionado, proporciona cinco niveles de coherencia ajustables y ofrece SLA integrales de disponibilidad, latencia, rendimiento y coherencia. Los datos se organizan en cuentas, bases de datos y contenedores (o colecciones/tablas/grafos según la API). Los contenedores se particionan y escalan horizontalmente mediante una clave de partición, y todas las operaciones se miden en Unidades de Solicitud (RU), una moneda normalizada que abstrae la CPU, las IOPS y la memoria.

API y programabilidad

Cosmos DB admite varias API compatibles a nivel de protocolo (wire-compatible) para que pueda usar los SDK y controladores nativos sin reescribir su modelo de datos:

undefined

.

Las operaciones comunes del SDK en todas las API incluyen CRUD, concurrencia optimista con ETags, upserts, scripts del lado del servidor (procedimientos almacenados, desencadenadores) y UDF (API de SQL). Las consultas se parametrizan para reducir las RU y mejorar la seguridad. Las operaciones masivas (bulk) y las API de streaming minimizan la sobrecarga del cliente y los costos de RU para la ingesta de alto rendimiento.

Coherencia, indexación y semántica de consulta

Cosmos DB ofrece cinco niveles de coherencia bien definidos por cuenta (que se pueden anular por solicitud en muchos SDK):

La indexación es automática y coherente de forma predeterminada para la API de SQL. Cada elemento y propiedad se indexa sin gestión de esquemas, por lo que las escrituras actualizan el índice inmediatamente (modo de indexación Consistent). Puede refinar la directiva de indexación para:

El modo de indexación también se puede establecer en None para contenedores optimizados para escritura que solo se leen por id/clave de partición. Las diferentes API exponen la indexación a través de sus paradigmas nativos (p. ej., construcciones de los controladores de MongoDB y Cassandra), pero todas aprovechan el motor de indexación subyacente de Cosmos.

Tenga en cuenta el tamaño del elemento y la forma de la consulta. La API de SQL impone un límite de tamaño de elemento (por ejemplo, 2 MB), y las consultas entre particiones, las proyecciones grandes y los predicados complejos aumentan el consumo de RU. Use proyecciones selectivas, filtros apropiados y consultas que tengan en cuenta la partición para minimizar el costo de RU.

Particionamiento y rendimiento (RUs)

Cosmos DB separa las particiones lógicas de las físicas:

Elija una clave de partición eficaz con alta cardinalidad y una distribución de acceso uniforme a lo largo del tiempo. Las buenas claves se correlacionan con su ruta de acceso principal (por ejemplo, userId, deviceId, tenantId u orderId). Evite las claves de baja cardinalidad o agrupadas por tiempo que causan desequilibrio (por ejemplo, país, estado o día). Cuando ninguna propiedad individual es adecuada:

Modelos de rendimiento:

Las técnicas de optimización de RU incluyen lecturas de punto por id+clave de partición, consultas parametrizadas, proyecciones selectivas, desnormalización para reducir patrones similares a JOIN y el uso de la fuente de cambios (change feed) para vistas derivadas en lugar de consultas complejas entre contenedores. Use ETags con If-Match para el control de concurrencia y así evitar reintentos costosos en RUs. Monitoree las métricas de RU y la limitación de velocidad (throttling, HTTP 429) e implemente políticas de reintento con fluctuación (jitter) en los SDK.

Distribución global y fuente de cambios (Change Feed)

La distribución multirregional llave en mano de Cosmos DB te permite agregar o quitar regiones en cualquier momento. Todas las regiones son de lectura; habilitar las escrituras multirregionales permite escrituras concurrentes en todas partes con una latencia de lectura inferior a 10 ms en el percentil 99 en las regiones próximas. Los SDK de cliente deben configurarse con regiones preferidas para enrutar el tráfico localmente y realizar la conmutación por error (failover) de manera controlada. En .NET, proporciona las regiones preferidas a través de CosmosClientOptions ApplicationPreferredRegions (o el equivalente en otros SDK). Las escrituras multirregionales requieren una política de resolución de conflictos:

La fuente de cambios (change feed) proporciona un registro ordenado y de solo anexión (append-only) de los cambios por cada clave de partición lógica. Es ideal para:

Escenario de problema práctico

Spotify necesita ofrecer un servicio de personalización disponible globalmente que ingiera las interacciones de los usuarios en tiempo real, actualice las recomendaciones por usuario y sirva lecturas de baja latencia desde la región más cercana. Las escrituras pueden ocurrir desde clientes móviles en todo el mundo, y las actualizaciones de recomendaciones deben distribuirse (fan out) a los sistemas posteriores.

  1. Elegir la API de Cosmos DB SQL (Core) con escrituras multirregionales
  1. Definir una clave de partición de alta cardinalidad y claves jerárquicas
  1. Configurar el rendimiento (throughput) de autoescalado en los contenedores principales
  1. Establecer la consistencia en Sesión (Session) a nivel de cuenta
  1. Implementar el procesamiento de la fuente de cambios con Azure Functions y el Change Feed Processor
  1. Crear un contenedor de recomendaciones derivado con una política de indexación personalizada
  1. Habilitar la distribución global con regiones preferidas en los SDK
  1. Configurar la resolución de conflictos y la observabilidad

Esta arquitectura ofrece lecturas y escrituras de baja latencia a nivel global, procesamiento de eventos resiliente a través de la fuente de cambios (change feed), autoescalado rentable y una semántica de consistencia robusta adecuada para cargas de trabajo de personalización.


Azure Storage y Blob Storage · Todos los dominios · Soluciones de contenedores de Azure

Practica estas preguntas → · Práctica cronometrada en ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Aprueba tu examen →

Explorar Microsoft →

Related guides

Acceso todo en uno

Una suscripción. Todos los exámenes.

Cada plan desbloquea la búsqueda ilimitada de respuestas, pruebas de práctica, explicaciones de AI y la biblioteca completa de recursos, en más de 20 idiomas.

Mensual
24.87
Just €0.83/day
Todo incluido:
  • Búsqueda ilimitada de respuestas
  • Pruebas de práctica ilimitadas
  • Explicaciones con tecnología AI
  • Biblioteca completa de recursos
  • Más de 20 idiomas
  • Actualizaciones semanales de contenido
  • Recompensas y referencias
  • Soporte prioritario
Iniciar prueba gratuita

No se requiere tarjeta de crédito*

Mejor valor
12 meses
179.87
Just €0.49/daySave 40%
Todo incluido:
  • Búsqueda ilimitada de respuestas
  • Pruebas de práctica ilimitadas
  • Explicaciones con tecnología AI
  • Biblioteca completa de recursos
  • Más de 20 idiomas
  • Actualizaciones semanales de contenido
  • Recompensas y referencias
  • Soporte prioritario
Iniciar prueba gratuita

No se requiere tarjeta de crédito*

✓ Plan gratuito incluido · ✓ Cancela en cualquier momento · ✓ Todos los planes desbloquean el producto completo