Arquitectura de Cosmos DB

Desarrolla para Azure Storage

Shahzad Mian

Content developer, DataCamp

Azure Cosmos DB

Azure_Cosmos_DB.svg.png

Desarrolla para Azure Storage

El problema

Problema de Cosmos DB

Desarrolla para Azure Storage

¿Qué es Cosmos DB?

 

CosmosDB

  • Base de datos NoSQL multimodelo y distribuida globalmente.
  • NoSQL: almacenamiento flexible tipo carpetas.
  • Soporta varias API y tipos de datos.
  • Como un menú flexible: elige tu API.
    • SQL (Core) para documentos JSON.
    • MongoDB para desarrolladores Mongo.
    • Cassandra para datos wide-column.
    • Gremlin para grafos.
    • Table API para clave-valor.
Desarrolla para Azure Storage

Cosmos DB para desarrolladores

  • Pensado para desarrolladores.
  • Indexación automática: sin gestionar esquemas.
  • Consultas rápidas.
  • Cinco niveles de consistencia: de Strong a Eventual.
  • Equilibrio entre rendimiento y consistencia.
    • Strong: todos ven lo mismo al instante.
    • Eventual: todos se sincronizan después.

 

Consistencia fuerte y eventual

Desarrolla para Azure Storage

Escalado y rendimiento (RU/s)

Modo aprovisionado

  • Unidades de solicitud por segundo (RU/s) = moneda de rendimiento de Cosmos DB.
  • Cada lectura, escritura o consulta gasta RU/s.
  • Elige aprovisionamiento fijo o autoescala.
Desarrolla para Azure Storage

Escalado y rendimiento (RU/s)

Escalado

  • Unidades de solicitud por segundo (RU/s) = moneda de rendimiento de Cosmos DB.
  • Cada lectura, escritura o consulta gasta RU/s.
  • Elige aprovisionamiento fijo o autoescala.
  • Autoescala se ajusta automáticamente según la demanda.
Desarrolla para Azure Storage

Escala elástica y particionado

  • Cosmos DB escala con particiones.
  • Cada contenedor usa una clave de partición.
  • La clave agrupa datos relacionados.
  • Ejemplo: Cipher Coffee usa /customerId para pedidos.
  • Todos los pedidos de un cliente quedan en la misma partición al usar /customerId como clave.
  • Las consultas siguen siendo rápidas aunque crezcan los datos.
  • Partición caliente: carga desigual que frena el rendimiento.

Escala elástica y particionado

Desarrolla para Azure Storage

Distribución global

  • Replica datos a cualquier región de Azure fácilmente.
  • Solo marca casillas, sin configuración compleja.
  • Si falla una región, el tráfico se redirige solo.
  • Sin caídas ni pérdida de datos.
  • Como una cafetería de respaldo lista para servir al instante.

Distribución global

Desarrolla para Azure Storage

Monitorización y optimización de costes

  • Controla el rendimiento en Azure Portal.
  • Ve métricas como RU/s, latencia y coste de solicitud.
  • Como el salpicadero de un coche: velocidad y consumo.
  • El equipo de Cipher Coffee analizó estas métricas.
  • Bajó costes ajustando el rendimiento dinámicamente.

Supervisión

Desarrolla para Azure Storage

¡Vamos a practicar!

Desarrolla para Azure Storage

Preparing Video For Download...