SlideShare una empresa de Scribd logo
Cosmos DB Leonardo Micheloni
@leomicheloni
¿Quién soy?
Leonardo Micheloni
@leomicheloni
@leomicheloni
Imaginemos
• Estar donde los clientes
• No estar atado a un modelo
• No estar atado a un nivel de
consistencia
• No estar atado a una API
• No preocuparnos por los
índices
• Poder escalar elásticamente
• Que sea un servicio
@leomicheloni
• Database as a service
• NoSQL
• Multi region replication
• Manual and automatic
failover
• Multi model
• Multi API
• Intuitive consistency level
• Designed for high availability
@leomicheloni
NoSQL
• Las bases de datos relacionales (SQL server, Orable, MySQL)
siguen el teorema ACID
• Atomicity
• Consitency
• Isolation
• Durability
• En sistemas distribuidos esto puede ser un problema
@leomicheloni
Bases de
datos NoSQL
• Siguen el teorema CAP
• Consistency
• Availability
• Partition tolerance
• Solo puedo tener dos
en simultáneo
@leomicheloni
Global distribution
• Replicación automática
alrededor del mundo con un
click
• Más regiones que Amazon y
Google combinados
@leomicheloni
Multiregional failover
@leomicheloni
Multimodelo
• Cosmos DB permite guardar los datos en diferentes formatos
• Documentos
• Grafos
• Clave / valor
• Indexa automáticamente todos los campos
@leomicheloni
Multi API
• Document DB
• MongoDB
• Table API
• Graph API
• Cassandra
• Modelos de datos relacionales (vNext)
@leomicheloni
Soporte multiplataforma
• SDKs
• .NET
• .NET Core
• Java
• Phyton
• Node JS
• API REST
@leomicheloni
Escalado elástico de rendimiento y
almacenamiento
• Es posible cambiar en
cualquier momento
• Es posible hacerlo por
código
• Es transparente para las
aplicaciones
• Cosmos DB se encarga de
conectar al nodo más
adecuado
@leomicheloni
Tipos de consistencia
• Strong
• Bounded-staleness
• Session
• Consistent Prefix
• Eventual
@leomicheloni
Tipos de consistencia
• Strong: El más transaccional, las lecturas siempre retornan la última versión de los datos, en
este caso no se puede asociar a más de una región.
• Bounded Staleness: Las lecturas están detrás de las escrituras k prefijos (o versiones) o un
intervalo de tiempo definido
• Session: Ofrece consistencia para un cliente determinado.
• Consistent Prefix: En caso de escribirse A, B y C, los clientes leeran A o A, B, o A,B y C, pero
nunca mezaclados.
• Eventual: El modelo asegura lecturas inmediatas pero ningún nivel de consistencia inmediata,
solo que eventualmente todos los clientes verán las mismas escritura.
• Al definir un nivel de consistencia definimos el nivel por defecto, sin embargo podemos
utilizar un nivel de consistencia diferente en cada lectura, lo cual aporta aún más flexibilidad.
@leomicheloni
Casos de uso
@leomicheloni
• Retail apps
• Mobile
• Web apps
• Games
• Social apps
• Azure!
¿Cómo saber si elegir Cosmos DB?
• Si los datos cambian mucho, sin importar si es esquema o keyvalue
• Si tenemos muchas transacciones por segundo
• Si hay una enorme cantidad de datos4
• En general todos aquellos escenarios para los que los RDBMS no
son buenos
@leomicheloni
DEMO
@leomicheloni
Probar Cosmos DB gratis
• https://azure.microsoft.com/en-us/try/cosmosdb/ @leomicheloni
Referencias
• https://azure.microsoft.com/en-us/services/cosmos-db/
• https://azure.microsoft.com/es-es/blog/the-walking-dead-no-mans-land-
game-soars-to-1-with-azure-documentdb/https://docs.microsoft.com/es-
es/azure/cosmos-db/introduction
• https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
• https://docs.microsoft.com/en-us/azure/cosmos-db/20-days-of-tips
• https://azure.microsoft.com/en-us/try/cosmosdb/
• https://www.youtube.com/watch?v=4fRKzcU__jY
• https://github.com/afhaque/MeanMapAppV2.0
@leomicheloni

Más contenido relacionado

PPTX
Cosmos db gab2018
PPTX
Un viaje por Cosmos DB
PPTX
Introducción a Cosmos DB
PPTX
Azure CosmosDB @ NETConf AR 2017
PDF
Servicios de base de datos multimodelo NoSQL con Azure CosmosDB y aplicación...
PPTX
Cosmos DB + Azure Functions- Cloud Lunch and Learn Marathon .pptx
PPTX
Codemotion cosmosdb
PPTX
Microsoft Data & AI Experience LATAM 2018 - Azure Cosmos DB
Cosmos db gab2018
Un viaje por Cosmos DB
Introducción a Cosmos DB
Azure CosmosDB @ NETConf AR 2017
Servicios de base de datos multimodelo NoSQL con Azure CosmosDB y aplicación...
Cosmos DB + Azure Functions- Cloud Lunch and Learn Marathon .pptx
Codemotion cosmosdb
Microsoft Data & AI Experience LATAM 2018 - Azure Cosmos DB

Similar a Cosmos DB in a nutshell (20)

PPTX
Introducción mongodb y desarrollo
PPTX
Azure Cosmos DB - NET Conf UY 2017
PPTX
Expert Academy Chile - Azure Cosmos DB and Open Source
PPSX
Presentacion BD NoSQL
PDF
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
PPTX
Ultisgbd
PPTX
MongoDB.basededatos-nosql-basenorelacion
PPTX
Expert Academy Argentina - Azure Cosmos DB Fundamentals
PPTX
Persistencia-NoSQL-y-MongoDB-v-2018.02-Prof.-L.-Straccia.pptx
PPTX
Expert Academy Chile - Azure Cosmos DB SQL
PPTX
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
PPTX
PPTX
Meetup: Sesion #2 MongoDB
PPTX
MANUFACTURAS AGROPECUARIAS EN TIEMPOS DE COVID .pptx
PPTX
Introduccón a Mongodb
PDF
INTRODUCCION BASES DE DATOS - NOSQL - MONGODB
PDF
Bases de datos NoSQL - Huancayo - 2010
PDF
NoSQL: Introducción a las Bases de Datos no estructuradas
PPTX
Base de datos rodrigo
Introducción mongodb y desarrollo
Azure Cosmos DB - NET Conf UY 2017
Expert Academy Chile - Azure Cosmos DB and Open Source
Presentacion BD NoSQL
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
Ultisgbd
MongoDB.basededatos-nosql-basenorelacion
Expert Academy Argentina - Azure Cosmos DB Fundamentals
Persistencia-NoSQL-y-MongoDB-v-2018.02-Prof.-L.-Straccia.pptx
Expert Academy Chile - Azure Cosmos DB SQL
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Meetup: Sesion #2 MongoDB
MANUFACTURAS AGROPECUARIAS EN TIEMPOS DE COVID .pptx
Introduccón a Mongodb
INTRODUCCION BASES DE DATOS - NOSQL - MONGODB
Bases de datos NoSQL - Huancayo - 2010
NoSQL: Introducción a las Bases de Datos no estructuradas
Base de datos rodrigo
Publicidad

Más de Leonardo Micheloni (15)

PDF
Docker_K8S_lecciones_netcoreconf_2022.pdf
PPTX
Docker dotnet netbaires
PPTX
Mas alla de javascript con typescript
PPTX
Workshop clean code javascript
PPTX
2019 commit solid typescript
PPTX
Solid con typescript
PPTX
Tdd desde las trincheras
PPTX
Docker Dotnet Málaga
PPTX
Pipeline continuo con VSTS Azure DevOps
PPTX
Docker for losers
PPTX
Clean code javascript + live coding
PPTX
Esp8266 iothub Azure data analysis in real time
PPTX
Clean code javascript
PPTX
Tdd y pair programming
PPTX
Blockchain, smart contracts y azure
Docker_K8S_lecciones_netcoreconf_2022.pdf
Docker dotnet netbaires
Mas alla de javascript con typescript
Workshop clean code javascript
2019 commit solid typescript
Solid con typescript
Tdd desde las trincheras
Docker Dotnet Málaga
Pipeline continuo con VSTS Azure DevOps
Docker for losers
Clean code javascript + live coding
Esp8266 iothub Azure data analysis in real time
Clean code javascript
Tdd y pair programming
Blockchain, smart contracts y azure
Publicidad

Último (6)

DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
sistemas de informacion.................
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
AutoCAD Herramientas para el futuro, Juan Fandiño
Conceptos basicos de Base de Datos y sus propiedades
sistemas de informacion.................
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Derechos_de_Autor_y_Creative_Commons.pptx

Cosmos DB in a nutshell

  • 1. Cosmos DB Leonardo Micheloni @leomicheloni
  • 3. Imaginemos • Estar donde los clientes • No estar atado a un modelo • No estar atado a un nivel de consistencia • No estar atado a una API • No preocuparnos por los índices • Poder escalar elásticamente • Que sea un servicio @leomicheloni
  • 4. • Database as a service • NoSQL • Multi region replication • Manual and automatic failover • Multi model • Multi API • Intuitive consistency level • Designed for high availability @leomicheloni
  • 5. NoSQL • Las bases de datos relacionales (SQL server, Orable, MySQL) siguen el teorema ACID • Atomicity • Consitency • Isolation • Durability • En sistemas distribuidos esto puede ser un problema @leomicheloni
  • 6. Bases de datos NoSQL • Siguen el teorema CAP • Consistency • Availability • Partition tolerance • Solo puedo tener dos en simultáneo @leomicheloni
  • 7. Global distribution • Replicación automática alrededor del mundo con un click • Más regiones que Amazon y Google combinados @leomicheloni
  • 9. Multimodelo • Cosmos DB permite guardar los datos en diferentes formatos • Documentos • Grafos • Clave / valor • Indexa automáticamente todos los campos @leomicheloni
  • 10. Multi API • Document DB • MongoDB • Table API • Graph API • Cassandra • Modelos de datos relacionales (vNext) @leomicheloni
  • 11. Soporte multiplataforma • SDKs • .NET • .NET Core • Java • Phyton • Node JS • API REST @leomicheloni
  • 12. Escalado elástico de rendimiento y almacenamiento • Es posible cambiar en cualquier momento • Es posible hacerlo por código • Es transparente para las aplicaciones • Cosmos DB se encarga de conectar al nodo más adecuado @leomicheloni
  • 13. Tipos de consistencia • Strong • Bounded-staleness • Session • Consistent Prefix • Eventual @leomicheloni
  • 14. Tipos de consistencia • Strong: El más transaccional, las lecturas siempre retornan la última versión de los datos, en este caso no se puede asociar a más de una región. • Bounded Staleness: Las lecturas están detrás de las escrituras k prefijos (o versiones) o un intervalo de tiempo definido • Session: Ofrece consistencia para un cliente determinado. • Consistent Prefix: En caso de escribirse A, B y C, los clientes leeran A o A, B, o A,B y C, pero nunca mezaclados. • Eventual: El modelo asegura lecturas inmediatas pero ningún nivel de consistencia inmediata, solo que eventualmente todos los clientes verán las mismas escritura. • Al definir un nivel de consistencia definimos el nivel por defecto, sin embargo podemos utilizar un nivel de consistencia diferente en cada lectura, lo cual aporta aún más flexibilidad. @leomicheloni
  • 15. Casos de uso @leomicheloni • Retail apps • Mobile • Web apps • Games • Social apps • Azure!
  • 16. ¿Cómo saber si elegir Cosmos DB? • Si los datos cambian mucho, sin importar si es esquema o keyvalue • Si tenemos muchas transacciones por segundo • Si hay una enorme cantidad de datos4 • En general todos aquellos escenarios para los que los RDBMS no son buenos @leomicheloni
  • 18. Probar Cosmos DB gratis • https://azure.microsoft.com/en-us/try/cosmosdb/ @leomicheloni
  • 19. Referencias • https://azure.microsoft.com/en-us/services/cosmos-db/ • https://azure.microsoft.com/es-es/blog/the-walking-dead-no-mans-land- game-soars-to-1-with-azure-documentdb/https://docs.microsoft.com/es- es/azure/cosmos-db/introduction • https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels • https://docs.microsoft.com/en-us/azure/cosmos-db/20-days-of-tips • https://azure.microsoft.com/en-us/try/cosmosdb/ • https://www.youtube.com/watch?v=4fRKzcU__jY • https://github.com/afhaque/MeanMapAppV2.0 @leomicheloni