Volvemos a la carga en TenerifeDev con un nuevo miembro de Microsoft Azure llamado Cosmos DB. Es el servicio de bases de datos distribuidas que está diseñado para permitir a los clientes escalar elásticamente (e independientemente) la tasa de rendimiento y almacenamiento en cualquier número de regiones geográficas.
* ¿Qué es Cosmos DB?
* Principales beneficios de Cosmos DB
* Múltiples modelos de datos y acceso a través de APIs populares
* Demo
* Modelo de prueba gratuito
2. Azure Cosmos DB es el servicio
de bases de datos distribuidas
globalmente de Microsoft.
El servicio está diseñado para
permitir a los clientes escalar
elásticamente la tasa de
rendimiento y almacenamiento
en cualquier número de regiones
geográficas.
AZURE COSMOS DB
INTRODUCCIÓN
3. Azure Cosmos DB es el primer servicio
que ofrece hoy en día acuerdos de nivel
de servicio comprensivos que abarcan
rendimiento, latencia, disponibilidad y
consistencia.
Cualquier aplicación web, móvil, de
juegos e IoT que necesite manejar
cantidades masivas de lecturas y
escrituras a escala global con tiempos
de respuesta bajos para una variedad de
datos se beneficiará de la disponibilidad
garantizada de Azure Cosmos DB.
AZURE COSMOS DB
INTRODUCCIÓN
AZURE COSMOS DB
INTRODUCCIÓN
5. Es posible construir
fácilmente aplicaciones
distribuidas globalmente sin
tener que preocuparse por
complejas configuraciones en
múltiples centros de datos.
GLOBAL
COSMOS DB
8. MULTIMODELO
COSMOS DB
no data is born relational...
is born dirty, messy in whatever shape or structure
Rimma Nehme - Architect, Azure Cosmos DB
9. Cosmos DB no obliga a
comprometerse con un
paradigma convencional
de estilo columna,
clave/valor o basado en
documentos.
KEY-VALUE
COLUMN-FAMILY
DOCUMENT
GRAPH
MULTIMODELO
COSMOS DB
MONGO o SQL API
TABLE API
CASSANDRA, HBASE,
ANSI SQL, etc.
GREMLING
10. Cosmos DB no obliga a
comprometerse con un
paradigma convencional
de estilo columna,
clave/valor o basado en
documentos.
MULTIMODELO
COSMOS DB
Es un modelo para las aplicaciones que necesitan un almacén de
pares clave-valor con un diseño sin esquema.
Key-Value
11. MULTIMODELO
COSMOS DB
Una familia de columnas es un objeto NoSQL que contiene
columnas de datos relacionados. Es una tupla (par) que consiste en
un par clave-valor, donde la clave se asigna a un valor que es un
conjunto de columnas.
Column-Family
12. MULTIMODELO
COSMOS DB
Los documentos dentro de una base de datos orientada a
documentos son similar, de algún modo a registros en una base de
datos relacional pero menos rígidos. No se les requiere ajustarse a
un esquema estándar ni tener todos las mismas secciones,
atributos, claves o cosas por el estilo.
Document
13. MULTIMODELO
COSMOS DB
Un grafo es una estructura que está formada por vértices y bordes.
Tanto los vértices como los bordes pueden tener un número
arbitrario de propiedades. Los vértices denotan objetos discretos,
como una persona, un lugar o un evento
Graph
15. LATENCIA
Cosmos DB ofrece
una baja latencia en
milisegundos.
COSMOS DB
• Lecturas y escrituras desde regiones locales
• Latencia garantizada de milisegundos en
todo el mundo
• Escrituras optimizadas
• Indexación automática
17. Con Azure Cosmos DB, sólo pagas por el rendimiento y el
almacenamiento que necesitas. Este servicio permite escalar
de forma independiente el almacenamiento y el rendimiento
en cualquier momento, convirtiéndolo en un aliado perfecto
para las aplicaciones serverless.
Escala fácilmente el
rendimiento de la base
de datos por segundos
ESCALADO
COSMOS DB
https://www.documentdb.com/capacityplanner
20. Opciones para la
mayoría de las
aplicaciones distribuidas
COHERENCIA
COSMOS DB
• Coherencia
sólida
• Alta latencia
• Coherencia
ocasional
• Baja latencia
21. Cosmos DB ofrece cinco
niveles de coherencia
bien definidos para un
modelo de programación
intuitivo con baja latencia
COHERENCIA
COSMOS DB
Se garantiza el leer siempre la última versión de un ítem
similar a leer el aislamiento confirmado en SQL Server. Una
fuerte consistencia se extiende a una sola región
Alta
La consistencia de lectura se quedará rezagada respecto a lo que se
escribe, y garantiza el orden global y no se extenderá a una sola
región.
De obsolescencia entrelazada
Este es el nivel de consistencia más popular, ya que proporciona
garantías de consistencia pero también tiene un mejor rendimiento.
Sesión
Se conserva un order global y se garantiza el orden de prefijos. Un
usuario nunca verá las escrituras en un orden diferente al que
fueron escritas.
De prefijo coherente
Básicamente, esto es como la sincronización asíncrona. Garantiza
que todos los cambios se replicarán eventualmente, y como tal,
también tiene la latencia más baja porque no necesita esperar en
ninguna confirmación.
Ocasional
Baja latencia -> mayor disponibilidad -> mejor escalabilidad en la lectura
23. • Alta disponibilidad
El único servicio con
acuerdos de servicio
completos en 4
dimensiones
99,99%
GARANTÍAS
COSMOS DB
• Rendimiento en latencia
• Rendimiento en ejecución
• Coherencia de datos
36. Creación de una aplicación de MongoDB con React y Azure Cosmos DB
https://docs.microsoft.com/es-es/azure/cosmos-db/tutorial-develop-mongodb-react
Azure Cosmos DB: Compilación de una aplicación web con la autenticación
de .NET, Xamarin y Facebook
https://docs.microsoft.com/es-es/azure/cosmos-db/create-documentdb-xamarin-dotnet
A Guided Tour of Azure Cosmos DB Gremlin API
https://github.com/Azure-Samples/azure-cosmos-db-dotnet-graphexplorer