SlideShare ist ein Scribd-Unternehmen logo
1 von 50
XAMARIN Y
COSMOS DB
CULIACAN TECH DAY
CULIACAN TECH DAY
¿QUE ES COSMOS DB?
Es una base de datos NoSQL multimodelo que escala infinitamente a nivel global
Se ejecuta en Azure como PaaS
CULIACAN TECH DAY
¿POR QUE USARLO?
Facilidad de mantener diferentes versiones de código
Escala mucho más fácil que una BD relacional
Búsquedas con SQL y LINQ (C#)
Modelos de consistencia bien definidos
Geobusquedas integradas
Distribución global a un click
Baja latencia definida (<10 ms 99%)
CULIACAN TECH DAY
¿QUIEN USA COSMOS DB?
X-BOX
One Note
Toyota
Domino’s pizza
Jet
Real Madrid
LG
Getwell
CULIACAN TECH DAY
DISTRIBUCIÓN GLOBAL
CULIACAN TECH DAY
AUTO ESCALADO
CULIACAN TECH DAY
NIVELES DE CONSISTENCIA
CULIACAN TECH DAY
CONSISTENCIA STRONG (ALTA)
Las lecturas SIEMPRE devuelven la versión mas reciente del documento
Una escritura solo es visible hasta confirmarse en todas las replicas (sincronamente)
Solo pueden existir en UNA región de Azure
CULIACAN TECH DAY
CONSISTENCIA BOUNDED STATELESS
(OBSOLESCENCIA ENTRELAZADA)
Las lecturas tienen un retraso máximo definido
Pueden existir en VARIAS regiones de Azure
La obsolescencia entrelazada proporciona una garantía de coherencia más fuerte que la coherencia de sesión
CULIACAN TECH DAY
CONSISTENCIA SESSION (SESIÓN)
Las lecturas SIEMPRE devuelven la versión mas reciente del documento dentro de la sesión del cliente
La consistencia de sesión proporciona consistencia predecible, así como rendimiento de lectura al máximo, así
Pueden existir en VARIAS regiones de Azure
CULIACAN TECH DAY
CONSISTENCIA PREFIX (PREFIJO
COHERENTE)
Las lecturas devuelven la versión mas reciente del documento ya que no existan más escrituras
Se garantiza que SIEMPRE se vean las escrituras en el orden que se dieron
Por ejemplo, suponiendo que se escribió A, B, C: Cliente 1
A
Cliente 2
A, C
Cliente 3
A, B, C
Pueden existir en VARIAS regiones de Azure
CULIACAN TECH DAY
CONSISTENCIA EVENTUAL
(OCASIONAL)
Las lecturas devuelven la versión mas reciente del documento ya que no existan más escrituras
Las lecturas pueden devolver una la versión mas antigua del documento
Tiene la latencia más baja tanto para escrituras como lecturas
CULIACAN TECH DAY
¿CUAL USAR?
Para la mayoría de los escenarios es suficiente el tipo sesión y prefijo coherente
CULIACAN TECH DAY
CULIACAN TECH DAY
GRAFOS
CULIACAN TECH DAY
LLAVE - VALOR
CULIACAN TECH DAY
TABLAS
CULIACAN TECH DAY
DOCUMENTOS
CULIACAN TECH DAY
QUE NO SON DOCUMENTOS
No son archivos ! doc ! xls
No son blobs ! jpg ! png
CULIACAN TECH DAY
QUE SON DOCUMENTOS
Json
GeoJson
CULIACAN TECH DAY
DOCUMENTOS MAS A FONDO
BD Relacional Cosmos DB
Renglones Documentos
Columnas Propiedades
Esquema definido Schema free
Robusto y maduro Simple y ligero
Escala vertical (más
hardware)
Escala horizontal (más
particiones)
CULIACAN TECH DAY
¿PORQUE SIN ESQUEMA?
Pros Contras
No se necesita definir tablas
Nada te obliga a cumplir una
estructura
No se necesita mapear
objetos a tablas
Nada te obliga a cumplir
relaciones
Se almacenan objetos como
objetos
Los datos se pueden repetir
Permite más cambios de
código
CULIACAN TECH DAY
ESQUEMA DE DOCUMENTOS
CULIACAN TECH DAY
COSTOS
Se basa en RU/m (Requests units per minute)
El costo es por colección
Cada colección puede almacenar 10Gb (sin necesidad de otra partición)
Una RU se define como como la capacidad de computación requerida para servir una petición
Depende del tamaño del objeto, del tipo de consistencia seleccionada, del query ejecutado, y de el
número de particiones afectadas
CULIACAN TECH DAY
EJEMPLO 1 ARQUITECTURA DE DATOS
Mayor costo
Mayor performance
Mayor escalabilidad
CULIACAN TECH DAY
EJEMPLO 2 ARQUITECTURA DE DATOS
Menor costo
Menor performance
Menor escalabilidad
CULIACAN TECH DAY
PARTICIONES
Una colección tiene como límite 10 Gb
- Colecciones más grandes dene particionarse
- Una colección es una partición
Una estrategia de partición es pensar como se busca la información mas frecuentemente
Con una estrategia de partición correcta se puede escalar infinitamente agregando particiones
Tipos de estrategias de partición:
- Spillover
- Range
- Lookup
TEXTO
PARTICIONES - ELEMENTOS CLAVE
Los ID de cada documento debe ser único en todas las colecciones
Es mejor usar un “paritioning resolver” para que se pueda determinar a que colección pertenece el documen
Hay que evitar a toda cosa consultas que sea utilicen multiple colecciones al mismo tiempo (son muy
costosas en RU’s)
Se recomienda definir como clave de partición un elemento que contenga muchos valores distintos (como
mínimo centenas o miles)
Todos los elementos de una partición están fisicamente cerca uno del otro (mismo servidor, misma
región, mismo disco duro)
CULIACAN TECH DAY
PARTICIONES
CULIACAN TECH DAY
PARTICION SPILLOVER
No sabemos como va a evolucionar los datos y no hay partición
Usamos la colección hasta que crezca a su limite y se cree una nueva
Mala estrategia para consultas
CULIACAN TECH DAY
PARTICION RANGE
Se determina un rango de datos que entra en una colección
CULIACAN TECH DAY
PARTICION LOOKUP
Se define un mapeo de que colecciones están una determinada colección
TEXTO
PARTICION (COMO SE VEN)
CULIACAN TECH DAY
PARTICION (ESCRITURAS)
CULIACAN TECH DAY
PARTICION (ESCRITURAS)
CULIACAN TECH DAY
API’S
SQL (DocumentDB)
MongoDB (DocumentDB)
Gremlin (grafos)
CULIACAN TECH DAY
SQL QUERY’S
TEXTO
SQL QUERY’S
CULIACAN TECH DAY
¿COMO LO USO CON XAMARIN?
Se debe instalar el Nugget Microsoft.Azure.DocumentDB.Core
No hay una versión PCL
Se puede utilizar como una librería .NET Standar o como proyecto compartido
DEMO
ARQUITEC
EJEMPLOS DE
CULIACAN TECH DAY
TOYOTA
Lo usa para IoT
Diagnostico del vehículo en tiempo real
CULIACAN TECH DAY
REAL MADRID
Lo usa como backend de su App, web y telemetría
CULIACAN TECH DAY
JET.COM
Retail
Lo usa como backend de su web
CULIACAN TECH DAY
WALKING DEAD NO MAN’S LAND
Juegos
Lo usa como backend de su juego
ENLACES
¿AHORA QUE?
CULIACAN TECH DAY
ENLACES
https://github.com/kristiandamian/tacocat
Repositorio del demo
https://azure.microsoft.com/en-us/try/cosmosdb/
Prueba Cosmos DB gratis
https://www.edx.org/es/course/developing-planet-scale-applications-microsoft-dat237x
Curso Cosmos DB edX
CULIACAN TECH DAY
CONTACTO
@kristian_damian
kristiandamian@gmail.com
Q&A
GRACIAS

Weitere ähnliche Inhalte

Ähnlich wie Xamarin y cosmosDB

Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Antonio Ognio
 
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nubeIndustria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nubeRodrigo Corral
 
Azure Synapse Analytics MLflow
Azure Synapse Analytics MLflowAzure Synapse Analytics MLflow
Azure Synapse Analytics MLflowEduardo Castro
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSAmazon Web Services LATAM
 
Base de datos sánchez erika
Base de datos sánchez erikaBase de datos sánchez erika
Base de datos sánchez erikaerika sanchez
 
Azure CosmosDB @ NETConf AR 2017
Azure CosmosDB @ NETConf AR 2017Azure CosmosDB @ NETConf AR 2017
Azure CosmosDB @ NETConf AR 2017Matias Quaranta
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSAmazon Web Services LATAM
 
Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)CloudAppi
 
BASE DE DATOS, TIPOS Y CARACTERÍSTICAS
BASE DE DATOS, TIPOS Y CARACTERÍSTICASBASE DE DATOS, TIPOS Y CARACTERÍSTICAS
BASE DE DATOS, TIPOS Y CARACTERÍSTICASDelia Alva
 
El mundo Big Data y las APIs
El mundo Big Data y las APIsEl mundo Big Data y las APIs
El mundo Big Data y las APIsBig Data Spain
 

Ähnlich wie Xamarin y cosmosDB (20)

Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010
 
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nubeIndustria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
Big Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data LakeBig Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data Lake
 
Azure Synapse Analytics MLflow
Azure Synapse Analytics MLflowAzure Synapse Analytics MLflow
Azure Synapse Analytics MLflow
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWS
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos sánchez erika
Base de datos sánchez erikaBase de datos sánchez erika
Base de datos sánchez erika
 
Azure CosmosDB @ NETConf AR 2017
Azure CosmosDB @ NETConf AR 2017Azure CosmosDB @ NETConf AR 2017
Azure CosmosDB @ NETConf AR 2017
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWS
 
Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)
 
BASE DE DATOS, TIPOS Y CARACTERÍSTICAS
BASE DE DATOS, TIPOS Y CARACTERÍSTICASBASE DE DATOS, TIPOS Y CARACTERÍSTICAS
BASE DE DATOS, TIPOS Y CARACTERÍSTICAS
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
Bases de datos
Bases de datos Bases de datos
Bases de datos
 
El mundo Big Data y las APIs
El mundo Big Data y las APIsEl mundo Big Data y las APIs
El mundo Big Data y las APIs
 
Rila
RilaRila
Rila
 
Act4 presentacion reynoso_ricardo
Act4 presentacion reynoso_ricardoAct4 presentacion reynoso_ricardo
Act4 presentacion reynoso_ricardo
 
Act4 base de datos reynoso_ricardo
Act4 base de datos reynoso_ricardoAct4 base de datos reynoso_ricardo
Act4 base de datos reynoso_ricardo
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 

Xamarin y cosmosDB