SlideShare una empresa de Scribd logo
1 de 116
A Z U R E C O S M O S D B
F U N D A M E N TA L S
James Whittaker - @docjamesw
“We are reducing the world to data”
L A S A P L I C A C I O N E S
M O D E R N A S E N F R E N TA N
N U E V O S D E S A F Í O S
Administrar y sincronizar datos distribuidos en todo el mundo
Entregar personalización que responde muy adecuadamente y
en tiempo real
Procesamiento y análisis de muchos datos complejos
Escalación tanto de rendimiento como de almacenamiento con
base en demanda global
Entrega de baja latencia a usuarios globales
Modernización de aplicaciones y datos existentes
SQL: MongoDB
API de
tabla
Distribución global
Escalabilidad horizontal elástica
de almacenamiento y rendimiento
Baja latencia garantizada en el percentil 99
SLAs completos
Cinco modelos de consistencia
bien definidos
A Z U R E C O S M O S D B
DocumentoFamilia de columnas
Valor de clave Gráfico
Un servicio de base de datos globalmente distribuido, escalable
masivamente y multi-modelo
C A R A C T E R I S T I C A S P R I N C I PA L E S
D I S T R I B U C I Ó N G LO B A L
PONGA SUS DATOS DONDE ESTÁN SUS USUARIOS
Replique automáticamente todos los datos de todo el mundo,
y en más regiones que Amazon y Google combinados.
• Disponible en todas las regiones de Azure
• Conmutación por error manual y automática
• Replicación multi-región automática y sincrónica
E S C A L A B I L I D A D E L Á S T I C A D E A L M A C E N A M I E N TO Y
R E N D I M I E N TO
SE ESCALA EN LA MEDIDA EN QUE SUS APLICACIONES
NECESITEN CAMBIAR
Independientemente y elásticamente escale almacenamiento
y rendimiento en todas las regiones, incluso durante ráfagas
de tráfico imprevisibles - con una base de datos que se
adapta a las necesidades de su aplicación.
• Escale el rendimiento de forma elástica de 10 a 100s de
millones de solicitudes/seg en múltiples regiones
• Soporte para solicitudes/seg para distintas cargas de trabajo
• Pague sólo por el rendimiento y el almacenamiento que
necesita
B A J A L AT E N C I A G A R A N T I Z A D A
PROPORCIONAR A LOS USUARIOS DE TODO EL
MUNDO ACCESO RÁPIDO A DATOS
Servir a <10 ms solicitudes de lectura y de escritura
en el 99o percentil de la región más cercana a los
usuarios, mientras se entregan los datos a nivel
mundial.
Robusta Obsolescencia limitada Sesión Prefijo consistente Eventual
C I N C O M O D E LO S D E C O N S I S T E N C I A B I E N D E F I N I D O S
ELEGIR EL MEJOR MODELO DE CONSISTENCIA PARA SU APLICACIÓN
Ofrece cinco modelos de consistencia
Proporciona control sobre las compensaciones de
rendimiento-consistencia, respaldado por amplios SLAs.
Un modelo de programación intuitiva que ofrece baja latencia
y alta disponibilidad para su aplicación a escala del planeta.
M Ú LT I P L E S M O D E LO S D E D ATO S Y A P I S
UTILICE EL MODELO QUE MEJOR SE ADAPTE A SUS
NECESIDADES, Y LAS APIS, HERRAMIENTAS Y MARCOS DE
TRABAJO QUE PREFIERA
Familia de columna Documento
Valor de clave
API de
tabla
SQL:
MongoDB
Gráfico
Cosmos DB ofrece una multitud de APIs para el acceso y la consulta
de datos incluyendo, SQL, diversas APIs OSS populares y soporte
nativo para cargas de trabajo de NoSQL.
Uso de datos de valor de clave, tabulares, gráficos y de documentos
Los datos se indexan automáticamente, sin esquema o índices
secundarios necesarios
Consultas ultrarrápidas sin ningún retraso
M A N E J E C U A LQ U I E R T I P O D E D ATO S S I N
R E Q U E R I R D E E S Q U E M A O I N D E X A C I Ó N
El servicio sin esquema de Azure Cosmos DBs indexa automáticamente
todos sus datos, independientemente del modelo de datos, para
entregar consultas rapidísimas.
Ítem Color
Seguro para
microondas
Capacidad
Líquida
CPU Memoria
Almacen
amiento
Taza
geek
Grafito Sí 16ox ??? ??? ???
Taza de
grano de
café
Cuero No 12oz ??? ??? ???
Surface
book
Gris ??? ??? 3.4 GHz
Intel
Skylake
Core i7-
6600U
16GB 1 TB SSD
• Administración automática de índice
• Auto-indexación automática sincrónica
• No se necesitan esquemas ni índices secundarios
• Funciona a través de cada modelo de datos
GEEK
S L A S C O M P L E TO S
EJECUTE SUS APLICACIONES EN UNA INFRAESTRUCTURA DE CLASE
MUNDIAL
Azure Cosmos DB es el único servicio con SLAs respaldados financieramente
para una latencia de milisegundos en el 99o percentil, 99,999% de HA y
rendimiento y consistencia garantizados
HALatencia
<10 ms
Percentil 99o
99.999%
Rendimiento Consistencia
Garantizado Garantizado
C O N F Í E S U S D ATO S A L A S E G U R I D A D Y
C O N F O R M I D A D L Í D E R E S E N L A I N D U S T R I A
Azure es la nube más confiable del mundo, con más
certificaciones que cualquier otro proveedor de nube.
• Seguridad de nivel empresarial
• Cifrado en reposo
• El cifrado es activado automáticamente de manera
predeterminada
• Certificación completa de conformidad de Azure
D ATO S D I S T R I B U I D O S Y
D I S P O N I B L E S E N TO D O E L M U N D O
Ponga sus datos donde están sus usuarios para brindar
acceso en tiempo real y servicio ininterrumpido a los
clientes en cualquier parte del mundo.
• Replicación de datos global "turnkey" en todas las
regiones de Azure
• Experiencia de baja latencia garantizada para usuarios
globales
• Resiliencia para alta disponibilidad y recuperación ante
desastres
G E N E R E E X P E R I E N C I A S D E
C L I E N T E E N T I E M P O R E A L
Ofrece aplicaciones sensibles a la latencia con
personalización, licitación y detección de fraudes.
• Los modelos de aprendizaje de máquina generan
recomendaciones en tiempo real a través de
catálogos de productos
• Análisis de productos en milisegundos
• La baja latencia garantiza un alto rendimiento de
las aplicaciones en todo el mundo
• Modelos de consistencia sintonizables para
obtener conocimientos rápidos
Servicio de recomendaciones en línea
Ruta de acceso ACTIVA
Motor de recomendaciones sin conexión
Ruta de acceso INACTIVA
I D E A L PA R A J U E G O S Y
C O M E R C I O E L E C T R Ó N I C O
Mantener la calidad del servicio durante períodos de
alto tráfico que requieren escalabilidad y
rendimiento masivos.
• La escalación instantánea y elástica maneja las
ráfagas de tráfico
• Experiencia de usuario global ininterrumpida
• Acceso y procesamiento de datos de baja latencia
para bases de usuarios grandes y cambiantes
• Alta disponibilidad a lo largo de múltiples centros
de datos
T E L E M E T R I A D E S D E I OT
Las cargas de trabajo de sensor de IoT que son
diversas e imprevisibles requieren una plataforma
de datos que responda adecuadamente
• Manipulación perfecta de cualquier salida o
volumen de datos
• Los datos se ponen a disposición de manera
inmediata y son automáticamente indexados
• Alto número de escrituras por segundo, con
rendimiento estable de ingesta y consultas
D E S A R R O L LO S I M P L I F I C A D O
C O N A R Q U I T E C T U R A S I N
S E R V I D O R
Experimente una disminución en el tiempo de
implementación, una mejor escalabilidad y la libertad
de la administración de marco de trabajo con micro-
servicios orientados hacia eventos.
• Manipulación perfecta de cualquier salida o
volumen de datos
• Los datos se ponen a disposición de manera
inmediata y son automáticamente indexados
• Alto número de escrituras por segundo, con
rendimiento estable de ingesta y consultas
• Feeds de cambio resilientes y en tiempo real
siempre conectados y accesible
• Integración nativa con Azure Functions
N O S Q L L I F T & S H I F T
Facilite la modernización de datos con una migración
de perfecta de cargas de trabajo de NoSQL hacia la
nube.
• Las APIs de Azure Cosmos DB APIs para MongoDB
y Cassandra traen datos de aplicaciones desde
cualquier lugar hacia Azure Cosmos DB
• Aproveche las herramientas, controladores y
bibliotecas existentes y continúe utilizando los
SDKs de las aplicaciones existentes
• Geo-replicación "turnkey"
• No requiere infraestructura o administración de
VM
.NET
M O D E LO D E R E C U R S O S
Cuenta
Base de
datos
Base de
datos
Base de
datos
Base de
datos
Base de
datosContenedor
Base de
datos
Base de
datosÍtem
U R I Y C R E D E N C I A L E S D E C U E N TA
********.azure.com
IGeAvVUp …
C R E A R U N A C U E N TA
Cuenta
Base de
datos
Base de
datos
Base de
datos
Base de
datos
Base de
datosContenedor
Base de
datos
Base de
datosÍtem
R E P R E S E N TA C I O N E S D E B A S E D E D ATO S
Cuenta
Base de
datos
Base de
datos
Base de
datos
Base de
datos
Base de
datosContenedor
Base de
datos
Base de
datosÍtem
Base de
datos
Base de
datosContenedor
Base de
datos
Base de
datosÍtem
R E P R E S E N TA C I O N E S D E C O N T E N E D O R
Cuenta
Base de
datos
Base de
datos
Base de
datos
Base de
datos
Base de
datosContenedor
Base de
datos
Base de
datosÍtem
= Colección Gráfico Tabla
C R E A C I Ó N D E C O L E C C I O N E S - S Q L A P I
Cuenta
Base de
datos
Base de
datos
Base de
datos
Base de
datos
Base de
datosContenedor
Base de
datos
Base de
datosÍtem
R E C U R S O S A N I V E L D E C O N T E N E D O R
Cuenta
Base de
datos
Base de
datos
Base de
datos
Base de
datos
Base de
datosContenedor
Base de
datos
Base de
datosÍtem ConflictoSproc Triggers UDF
TO P O LO G I A Y PA R T I C I O N A M I E N TO
TO P O LO G Í A D E S I S T E M A
Resource
Manager
Language
Runtime(s)
Hosts
Query
Processor
RSM
Index Manager
Bw-tree++/ LLAMA++
Log Manager
IO Manager
Resource Governor
Transport
Database engine
Admission control
…
…
Planeta tierra Regiones de Azure Datacenters Stamps Fault domains
Cluster Machine Replica Database engine
Container
Various agents
TO P O LO G I A D E S I S T E M A
CONTENEDORES
Los recursos lógicos se “proyectan" en APIs como
tablas, colecciones o gráficos, que se compone de una
o más particiones físicas o servidores.
PARTICIONES DE RECURSOS
• Primitivos de coordinación altamente disponibles y
gobernados por recursos
• Constan de conjuntos de réplicas, con cada réplica
hospedando una instancia del motor de base de
datos
Contenedores
Particiones de recursos
ColeccionesTablas Gráficos
Inquilinos
Líder
Seguidor
Seguidor
Reenviador
Conjunto de réplicas
A partición(es) de recurso remoto
PA R T I C I O N E S
Cosmos DB Container
(ej. Colección)
Clave de partición: ID
de usuario
Abstracción de particionamiento lógico
Tras Bambalinas:
Conjuntos de particiones físicas
Hash (ID de usuario)
Distribución pseudo aleatoria de datos a lo largo de un rango de posibles valores
con hash
PA R T I C I O N E S
…
Partición 1 Partición 2 Partición n
# frugal de particiones con base en las necesidades reales de rendimiento y almacenamiento
(produciendo la escalabilidad con un bajo costo total de propiedad)
Hash (ID de usuario)
Distribución pseudo aleatoria de datos a lo largo de un rango de posibles valores
con hash
Andrew
Mike
…
Bob
Dharma
Shireesh
Karthik
Rimma
Alice
Carol
…
PA R T I C I O N E S
…
Partición 1 Partición 2 Partición n
¿Qué sucede cuando las particiones necesitan crecer?
Hash (ID de usuario)
Distribución pseudo aleatoria de datos a lo largo de un rango de posibles valores
con hash
Andrew
Mike
…
Bob
Dharma
Shireesh
Karthik
Rimma
Alice
Carol
…
PA R T I C I O N E S
Los Rangos de partición pueden ser dinámicamente sub-
divididos para hacer que la base de datos crezca perfectamente
conforme la aplicación crezca mientras se mantiene una alta
disponibilidad de manera simultánea.
La administración de particiones está completamente
administrada por Azure Cosmos DB, de modo que usted no
tiene que escribir código ni administrar sus particiones.
+
Partición x Partición
x1
Partición
x2
Hash (ID de usuario)
Distribución pseudo aleatoria de datos a lo largo de un rango de posibles valores
con hash
Rimma
Karthik
…
Dharma
Shireesh
Karthik
Rimma
Alice
Carol
…
Dharma
Shireesh
…
U N I D A D E S D E S O L I C I T U D ( R U )
U N I D A D E S D E S O L I C I T U D
Las Unidades de solicitud (RUS) son una unidad basada en
velocidad
Abstrae los recursos físicos para llevar a cabo las solicitudes
Clave para eficiencia de multi-inquilinos, SLAs y COGS
Actividades en primero y segundo plano
% IOPS% CPU% Memoria
U N I D A D E S D E S O L I C I T U D
Normalizado a través de diversos métodos de acceso
1 RU = 1 lectura de documento de 1 KB
Cada solicitud consume RUs fijos
Se aplica a lecturas, escrituras, consultas y ejecución de
procedimiento almacenado
GET
POST
PUT
QUERY
…
=
=
=
=
U N I D A D E S D E S O L I C I T U D
Aprovisionado en términos de RU/seg
Limitación de velocidad en función de la cantidad de
rendimiento aprovisionado
Puede ser aumentado o disminuido de forma instantánea
Se mide cada hora
Los procesos en segundo plano como expiración de TTL y
transformaciones de índice se programan cuando están
inactivos
Min RU/seg
Máx RU/seg
Solicitudesentrantes
Réplica inactiva
Límite de
velocidad
No hay límite de
velocidad
U N I D A D E S D E S O L I C I T U D
Cuenta
Base de
datos
Base de
datos
Base de
datos
Base de
datos
Base de
datosContenedor
U N I D A D E S D E S O L I C I T U D
Cuenta
Base de
datos
Base de
datos
Base de
datos
Base de
datos
Base de
datosContenedor
Base de
datos
Base de
datosContenedor
Base de
datos
Base de
datosContenedor
VA L I D A C I Ó N D E L A O P C I Ó N D E N I V E L D E
R E N D I M I E N TO
1. Compruebe si sus operaciones tienen limitación
de velocidad.
• Solicitudes que exceden el gráfico de capacidad
2. Verifique si el rendimiento consumido supera el
rendimiento aprovisionado en cualquiera de las
particiones físicas
• Max RU/segundo consumido de acuerdo al
gráfico de partición
3. Seleccione el momento en que el rendimiento
máximo consumido por partición exceda el
aprovisionado en el gráfico
• Rendimiento máximo consumido por cada
gráfico de partición
M OTO R D E I N D E X A M I E N TO
M A N E J E C U A LQ U I E R T I P O D E D ATO S S I N
R E Q U E R I R D E E S Q U E M A O I N D E X A C I Ó N
El servicio sin esquema de Azure Cosmos DBs indexa automáticamente
todos sus datos, independientemente del modelo de datos, para
entregar consultas rapidísimas.
Ítem Color
Seguro para
microondas
Capacidad
Líquida
CPU Memoria
Almacen
amiento
Taza
geek
Grafito Sí 16ox ??? ??? ???
Taza de
grano de
café
Cuero No 12oz ??? ??? ???
Surface
book
Gris ??? ??? 3.4 GHz
Intel
Skylake
Core i7-
6600U
16GB 1 TB SSD
• Administración automática de índice
• Auto-indexación automática sincrónica
• No se necesitan esquemas ni índices secundarios
• Funciona a través de cada modelo de datos
GEEK
I N D E X A D O D E D O C U M E N TO S
{
"locations": [
{
"country": "Germany",
"city": "Berlin"
},
{
"country": "France",
"city": "Paris"
}
],
"headquarter": "Belgium",
"exports": [
{ "city": "Moscow" },
{ "city": "Athens" }
]
}
locations headquarter exports
0
country city
Germany Berlin
1
country city
France Paris
0 1
city
Athens
city
Moscow
Belgium
I N D E X A D O D E D O C U M E N TO S
{
"locations": [
{
"country": "Germany",
"city": "Bonn",
"revenue": 200
}
],
"headquarter": "Italy",
"exports": [
{
"city": "Berlin",
"dealers": [
{ "name": "Hans" }
]
},
{ "city": "Athens" }
]
}
locations headquarter exports
0
country city
Germany Bonn
revenue
200
0 1
citycity
Berlin
Italy
dealers
0
name
Hans
I N D E X A D O D E D O C U M E N TO S
locations headquarter exports
0
country city
Germany Bonn
revenue
200
0 1
citycity
Berlin
Italy
dealers
0
name
Hans
locations headquarter exports
0
country city
Germany Berlin
1
country city
France Paris
0 1
city
Athens
city
Moscow
Belgium
Í N D I C E I N V E R T I D O
locations headquarter exports
0
country city
Germany
Berlin
revenue
200
0 1
city
Athens
city
Berlin
Italy
dealers
0
name
Hans
Bonn
1
country city
France Paris
Belgium
Moscow
Í N D I C E I N V E R T I D O
Terms Postings (Doc Ids)
$/locations/0/ 1, 2
locations/0/country 1, 2
locations/0/city 1, 2
0/country/Germany 1, 2
1/country/France 1
0/city/Moscow 1
0/dealers/0 2
… …
P O L Í T I C A S D E I N D E X A C I Ó N
POLÍTICAS DE INDEXACIÓN PERSONALIZADA
Aunque todos datos de Azure Cosmos DB están indexados
de manera predeterminada, usted puede especificar una
política de indexación personalizada para sus colecciones. Las
políticas de indexación personalizadas le permiten diseñar y
personalizar la forma de su índice, manteniendo la flexibilidad
del esquema.
• Defina compensaciones entre rendimiento de
almacenamiento, escritura y consultas y consistencia de
consulta
• Incluya o excluya documentos y rutas hacia y desde el
índice
• Configure diversos tipos de índice
{
"automatic": true,
"indexingMode": "Consistent",
"includedPaths": [{
"path": "/*",
"indexes": [{
"kind": "Hash",
"dataType": "String",
"precision": -1
}, {
"kind": "Range",
"dataType": "Number",
"precision": -1
}, {
"kind": "Spatial",
"dataType": "Point"
}]
}],
"excludedPaths": [{
"path": "/nonIndexedContent/*"
}]
}
T R A N S F O R M A C I O N E S D E Í N D I C E E N L Í N E A
CAMBIOS AL ÍNDICE SOBRE LA MARCHA
En Azure Cosmos DB usted puede realizar cambios a la
política de indexación de una colección sobre la marcha.
Los cambios pueden afectar la forma del índice,
incluyendo rutas, valores de precisión y su modelo de
consistencia.
Un cambio en la política de indexación requiere una
transformación efectiva del índice antiguo en un nuevo
índice.
S Q L S Y N TA X
S Q L Q U E R Y S Y N TA X
SELECT
tickets.id,
tickets.pricePaid
FROM tickets
BASIC QUERY SYNTAX
Las palabras clave SELECT & FROM son los componentes básicos de cada
consulta.
SELECT
t.id,
t.pricePaid
FROM tickets t
S Q L Q U E R Y S Y N TA X - W H E R E
FILTRADO
WHERE admite expresiones escalares complejas incluyendo operadores
aritméticos, de comparación y lógicos
SELECT
tickets.id,
tickets.pricePaid
FROM tickets
WHERE
tickets.pricePaid > 500.00 AND
tickets.pricePaid <= 1000.00
S Q L Q U E R Y S Y N TA X - P R O Y E C C I Ó N
PROYECCIÓN JSON
Si sus cargas de trabajo requieren un determinado esquema de JSON, Azure
Cosmos DB admite proyección JSON dentro de sus consultas
SELECT {
"id": tickets.id,
"flightNumber": tickets.assignedFlight.flightNumber,
"purchase": {
"cost": tickets.pricePaid
},
"stops": [
tickets.assignedFlight.origin,
tickets.assignedFlight.destination
]
} AS ticket
FROM tickets
S Q L Q U E R Y S Y N TA X - P R O Y E C C I Ó N
SELECT VALUE
La palabra clave VALUE puede aplanar aún más la colección de resultados si
es necesario para una determinada carga de trabajo de aplicación
SELECT VALUE {
"id": tickets.id,
"flightNumber": tickets.assignedFlight.flightNumber,
"purchase": {
"cost": tickets.pricePaid
},
"stops": [
tickets.assignedFlight.origin,
tickets.assignedFlight.destination
]
}
FROM tickets
J O I N I N T R A - D O C U M E N TO
Azure Cosmos DB admite JOINs intra-documento para matrices no normalizadas
Supongamos que tenemos dos documentos JSON en una colección:
SQL:
J O I N I N T R A - D O C U M E N TO
Podemos filtrar en una determinada posición de índice de matriz sin JOIN:
SQL:
J O I N I N T R A - D O C U M E N TO
JOIN nos permite combinar matrices o documentos incorporados en múltiples documentos y retornar un conjunto de
resultados aplanado:
SQL:
J O I N I N T R A - D O C U M E N TO
Junto con JOIN, también podemos filtrar los productos cruzados sin conocer la posición de índice de
matriz:
SQL:
B Ú S Q U E D A D E U B I C A C I Ó N V I N C U L A D A U T I L I Z A N D O
G E O - D ATO S
ESPECIFICACIÓN GEOJSON
Azure Cosmos DB admite la indexación y consulta de datos de punto
geoespacial que son representados mediante la especificación de GeoJSON.
BUSCAR POR DISTANCIA DESDE PUNTO
La función incorporada ST_DISTANCE retorna la distancia entre los dos
expresiones de punto GeoJSON.
BUSCAR SIN POLÍGONO ENLAZADO
La función incorporada ST_WITHIN retorna un valor booleano que indica la
primera expresión de punto GeoJSON está dentro de una expresión de
polígono GeoJSON.
B Ú S Q U E D A D E D I S TA N C I A D E S D E E L P U N TO C E N T R A L
ST_DISTANCE
ST_DISTANCE puede ser utilizarse para medir la distancia entre dos puntos.
Normalmente esta función se utiliza para determinar si un punto se encuentra
dentro de un rango especificado (metros) de otro punto.
B U S C A R F O R M A D E P O L Í G O N O
ST_WITHIN
ST_WITHIN puede utilizarse para comprobar si un punto se encuentra dentro
de un Polígono. Los Polígonos son usados comúnmente para representar
fronteras como códigos postales, fronteras estatales o formaciones naturales.
Los argumentos de polígono en ST_WITHIN pueden contener solo un único
anillo, es decir, los Polígonos no deben contener agujeros dentro de ellos.
A G R E G A D O D E PA R T I C I Ó N C R U Z A D A
LA AGREGACIÓN DE BAJA LATENCIA FUNCIONA A
TRAVÉS DE MÚLTIPLES PARTICIONES
Puede enviar una consulta SQL sencilla y Azure Cosmos DB
maneja el enrutamiento de la consulta entre las particiones
de datos y combina los resultados para retornar los valores
agregados finales.
Ejemplo – Contoso Air
S O P O R T E P R O G R A M AT I C O
S Q L S D K
API REST
PA R A L E L I S M O D E C O N S U LTA D E L C L I E N T E
LAS CONSULTAS DE PARTICIÓN CRUZADA SE PUEDEN PARALELIZAR
PARA UTILIZAR TANTOS SUBPROCESOS COMO SEA POSIBLE
Los procesadores modernos vienen con núcleos tanto físicos como virtuales
(hyper-threading). Para cualquier consulta de partición cruzada, el SDK puede
utilizar subprocesos simultáneos para emitir la consulta a través de las
particiones subyacentes.
De manera predeterminada, el SDK usa un algoritmo de inicio lento para
consultas de partición cruzada, que aumenta la cantidad de subprocesos lo
largo del tiempo. Este incremento es exponencial hasta cualquier limitación
física o de red.
Subproceso de
consulta
DOP = 1
Subproceso primario
Subproceso
simultáneo
Subproceso
simultáneo
Subproceso
simultáneo
DOP = 4
B Ú F E R D E R E S P U E S TA D E C L I E N T E
1 3
2
4
5
6
B U L K E X E C U TO R S D K
BULK API
MongoDB wire protocol
Azure Cosmos DB
Mongo API
M O N G O D B W I R E P R OTO C O L
Cassandra wire protocol
Azure Cosmos DB
Apache Cassandra API
C A S S A N D R A W I R E P R OTO C O L
Gremlin wire protocol
Azure Cosmos DB
Graph API
G R E M L I N W I R E P R OTO C O L
C O N T R O L A R L A C O N C U R R E N C I A U T I L I Z A N D O E TA G S
CONCURRENCIA OPTIMISTA
• La SQL API admite el control de simultaneidad optimista (OCC) a través de etiquetas de entidad HTTP, o ETags
• Cada recurso SQL API tiene una propiedad de sistema de ETag, y el valor de ETag se genera en el servidor cada vez que un
documento se actualiza.
• Si el valor de ETag se mantiene constante, eso significa que ningún otro proceso ha actualizado el documento. Si el valor de
ETag muta inesperadamente, eso significa que otro proceso simultáneo ha actualizado el documento.
• Las ETags pueden utilizarse con el encabezado de solicitud HTTP If-Match para permitir que el servidor decida si un
recurso debe ser actualizado:
HTTP 412
BENEFICIOS
• Lenguaje de programación familiar
• Transacciones atómicas
• Optimizaciones incorporadas
• Encapsulamiento lógico de negocios
P R O C E D I M I E N TO S
A L M A C E N A D O S
T R A N S A C C I O N E S D E M Ú LT I P L E S D O C U M E N TO S
TRANSACCIONES DE BASE DE DATOS
En una base de datos típica, una transacción puede ser
definida como una secuencia de operaciones realizadas
como una sola unidad lógica de trabajo. Cada
transacción proporciona garantías ACID.
En Azure Cosmos DB, JavaScript se hospeda en el mismo
espacio de memoria que la base de datos. Por lo tanto,
las solicitudes realizadas dentro de los procedimientos y
desencadenadores almacenados se ejecutan en el
mismo ámbito de una sesión de base de datos.
Crear nuevo
documento
Colección
de
consulta
Actualizar
documento
existente
Eliminar
documento
existente
Los procedimientos almacenados
utilizan aislamiento de instantánea
para garantizar que todas las lecturas
dentro de la transacción observen una
instantánea consistente de los datos
E J E C U C I Ó N V I N C U L A D A
EJECUCIÓN DENTRO DE LOS LÍMITES DE TIEMPO
Todas las operaciones de Azure Cosmos DB se deben completar dentro de la duración del tiempo de expiración de la
solicitud especificada por el servidor. Si una operación no se completa dentro de ese plazo, la transacción se revierte.
VALOR BOOLEANO DE APLICACIÓN AUXILIAR
Todas las funciones bajo el objeto de colección (para crear, leer, reemplazar y eliminar documentos y archivos adjuntos)
retornan un valor Booleano que describe si esa operación se completa:
• If true, se espera que la operación se complete
• If false, el plazo pronto expirará y su función debería finalizar la ejecución tan pronto como sea posible.
M O D E LO D E C O N T I N U A C I Ó N D E T R A N S A C C I Ó N
CONTINUACIÓN DE TRANSACCIONES DE LARGA EJECUCIÓN
• Las funciones de JavaScript pueden implementar un modelo
basado en continuación para colocar en masa/reanudar la
ejecución
• El valor de continuación puede ser cualquier valor que usted
elija. Este valor puede ser utilizado por sus aplicaciones para
reanudar una transacción desde un nuevo "punto de inicio"
Crear documentos en masa
Retornar un "puntero" para reanudar más tarde
Observar
Retornar
Valor
Intentar crear
Cada
documento
Hecho
R E V E R T I R T R A N S A C C I O N E S
REVERSIÓN DE TRANSACCIONES
Dentro de una función de JavaScript, todas las operaciones son ajustadas automáticamente bajo una única transacción:
• Si la función se completa sin ninguna excepción, todos los cambios de datos son ejecutados
• Si se arroja alguna excepción desde el script, el tiempo de ejecución de JavaScript de Azure Cosmos DB revertirá toda la
transacción.
Crear nuevo
documento
Colección de
consulta
Actualizar
documento
existente
Eliminar
documento
existente
En caso de excepción, deshacer cambios
Ámbito de la transacción
F U N C I O N E S D E F I N I D A S P O R U S U A R I O
UDF
• Las Funciones definidas por usuario (UDFs) se usan para extender la gramática de lenguaje de consulta de la
SQL API de Azure Cosmos DB e implementar lógica de negocios personalizada. Las UDFs sólo pueden llamarse
desde dentro de las consultas
• No tienen acceso al objeto de contexto y están destinadas a ser utilizadas como código exclusivo de cómputo
D E F I N I C I Ó N D E F U N C I Ó N D E F I N I D A P O R U S U A R I O
U S O D E L A F U N C I Ó N D E F I N I D A P O R U S U A R I O E N
C O N S U LTA S
SQL:
C H A N G E F E E D
Registros persistentes dentro un contenedor Azure
Cosmos DB. Presentados en el orden en que fueron
modificados
E S C E N A R I O S D E C H A N G E F E E D
C H A N G E F E E D P R O C E S S O R L I B R A R Y
https://www.nuget.org/packages
/Microsoft.Azure.DocumentDB.ChangeFeedProcessor/
Nivel de aplicación de
procesamiento de
evento/stream
C H A N G E F E E D C O N PA R T I C I O N E S
Paralelización de consumidor
El Change Feed escucha para detectar cualquier cambio en la
colección de Azure Cosmos DB. A continuación, brinda como
salida la lista ordenada de documentos que fueron
cambiados en el orden en que fueron modificados.
Los cambios se conservan, pueden ser procesados de forma
asíncrona y progresivamente y la salida puede ser
posteriormente distribuida a través de uno o más
consumidores para el procesamiento paralelo. El Change
Feed está disponible para cada rango de clave de partición
dentro de la colección de documentos y, por lo tanto, puede
ser distribuido a través de uno o más consumidores para
procesamiento paralelo.
Consumidor 1
Consumidor 2
Consumidor 3
C H A N G E F E E D C O N PA R T I C I O N E S
I N T E G R A C I O N C O N A Z U R E F U N C T I O N S
I N T E G R A C I O N C O N A Z U R E F U N C T I O N S
R E P L I C A C I O N G LO B A L
D I S T R I B U C I O N G LO B A L
Alta disponibilidad
• Conmutación por error automática y manual
• La API de hospedaje múltiple elimina la necesidad de una
redistribución
Baja latencia (en cualquier parte del mundo)
• Los paquetes no pueden moverse más rápido que la
velocidad de la luz
• El envío de un paquete al otro lado del mundo bajo
condiciones de red ideales toma 100s de milisegundos.
• Usted puede engañar a la velocidad de la luz, empleando
localidad de datos
• CDN solucionó esto para contenido estático
• Azure Cosmos DB resuelve esto para contenido
dinámico
D I S T R I B U C I Ó N G LO B A L
• Replicación automática y transparente en todo el
mundo
• Cada partición contiene hospeda un conjunto de
réplicas por región
• Los clientes pueden probar la disponibilidad de
aplicaciones de extremo a extremo mediante la
simulación programática de conmutaciones por
error
• Todas las regiones están ocultas detrás de un único
URI global con capacidades de hospedaje múltiple
• Los clientes pueden agregar / eliminar
dinámicamente regiones adicionales en cualquier
momento
Escribe/
Lee
Lee
"airport" : “AMS" "airport" : “MEL"
Oeste de los
EE. UU:
Contenedor
"airport" : "LAX"
Distribución local (a través de partición horizontal)
Distribuciónmundial(departicionesderecursos)
Lee
30K de
transacciones/seg
Escribe
/
Lee
Lee
Lee
Europa
Occidental
30K de
transacciones/seg
Partition-key = "airport"
R E P L I C A C I Ó N D E D ATO S E N TO D O E L M U N D O
R E P L I C A C I Ó N D E D ATO S E N TO D O E L M U N D O
R E P L I C A C I Ó N D E D ATO S E N TO D O E L M U N D O
FA I LO V E R A U TO M ÁT I C O
FA I LO V E R M A N U A L
S O P O R T E M U LT I M A S T E R
aka.ms/multimasterdocs
Region A
Region B
Region C
Azure
Traffic
Manager
Master
(read/write)
Master
(read/write)
Master
(read/write)
Master
(read/write)
Replica
(read)
Replica
(read)
S O P O R T E M U LT I M A S T E R
Reads
(1KB)
P50
P99
<2ms
<10ms
Indexed writes
(1KB)
<6ms
<10ms
R E S O L U C I O N D E C O N F L I C TO S
Last Writer Wins
• Por defecto
• Los conflictos se resuelven por el valor de una propiedad
numérica definida por el usuario o el timestamp (_ts)
• Disponible en todos los modelos de datos.
R E S O L U C I O N D E C O N F L I C TO S
User Defined Procedure
• Ejecuta un Stored Procedure ante el conflicto
• Permite acceder otros datos en el contenedor
R E S O L U C I O N D E C O N F L I C TO S
Manual o Asincrónico
• Se configura como Custom sin Stored Procedure
R E S O L U C I O N D E C O N F L I C TO S
Manual o Asincrónico
• Puede resolverse programáticamente o a través de
herramientas
Robusta Obsolescencia limitada Sesión Prefijo consistente Eventual
C I N C O M O D E LO S D E C O N S I S T E N C I A B I E N D E F I N I D O S
ELEGIR EL MEJOR MODELO DE CONSISTENCIA PARA SU APLICACIÓN
Cinco modelos de consistencia bien definidos
Reemplazar por solicitud
Proporciona control sobre las compensaciones de
rendimiento-consistencia, respaldado por amplios SLAs.
Un modelo de programación intuitiva que ofrece baja latencia
y alta disponibilidad para su aplicación a escala del planeta.
COMPENSACIONES CLARAS
• Latencia
• Disponibilidad
• Rendimiento
D E S M I T I F I C A R M O D E LO S D E C O N S I S T E N C I A
Consistencia robusta
Garantiza instrucción atómica. Una vez que la operación se completa, será
visible para todos los lectores de una manera muy consistente a través de las
réplicas.
Consistencia eventual
Las réplicas son eventualmente consistentes con cualquier operación. Hay un
potencial de lecturas fuera de orden. Menor costo y mayor rendimiento para
lecturas de todos los niveles de consistencia.
Robusta
Eventual
Obsolescencia limitada
Sesión
Prefijo consistente
D E S M I T I F I C A R M O D E LO S D E C O N S I S T E N C I A
Obsolescencia limitada
Lee el desfase que está por detrás de las escrituras en la mayoría de los
prefijos k o intervalos t. Propiedades similares para una consistencia robusta
excepto dentro de la ventana de obsolescencia.
Sesión
Dentro de una sesión, las lecturas y escrituras son monotónicas. Esto se
conoce como "lea sus escrituras" y "escritura sigue a lecturas". Consistencia
previsible para una sesión. Alto rendimiento de lectura y baja latencia fuera de
la sesión.
Prefijo consistente
Las lecturas nunca verán escrituras fuera de orden.
Algunos datos producidos por aplicaciones sólo
son útiles durante un periodo limitado de tiempo:
• Datos de eventos generados por máquina
• Datos de registro de aplicación
• Información de sesión de usuario
Es importante que el sistema de base de datos
sistemáticamente purgue estos datos a intervalos
preconfigurados.
D ATO S D E T I E M P O D E
V I D A C O R TO
P E R Í O D O D E V I D A ( T T L )
PURGAR LOS DATOS AUTOMÁTICAMENTE
Azure Cosmos DB le permite configurar el intervalo de
tiempo en el cual radiquen los documentos en la base de
datos antes de que se purguen automáticamente. El "Período
de vida" (TTL) de un documento se mide en segundos desde
la última modificación y se puede configurar a nivel de
colección con reemplazo bajo un régimen por documento.
.
R E G I S T R O S Q U E E X P I R A N U T I L I Z A N D O P E R Í O D O D E
V I D A
COMPORTAMIENTO TTL
La característica TTL es controlada por las propiedades TTL en dos
niveles: el nivel de colección y el nivel de documento.
• DefaultTTL para la colección
• Si faltan (o están configurados como nulos), los documentos
no se eliminan automáticamente.
• Si están presentes y el valor es "-1" = infinito, los documentos
no expiran predeterminadamente
• Si están presentes, y el valor es un número ("n"), los
documentos expiran "n" segundos después de la última
modificación
• TTL para los documentos:
• La propiedad es aplicable sólo s/i DefaultTTL está presente en
la colección primaria.
• Reemplaza el valor DefaultTTL de la colección primaria.
Los valores se configuran en segundos y se tratan como un delta de _ts
de cuando se modificó el documento por última vez.
Documento
Documento TTL
TTL predeterminado
QUÉ ES REGISTRADO POR AZURE DIAGNOSTIC
LOGS
Todas las solicitudes de backend autenticadas a lo largo
de todos los protocolos y APIs
• Incluye solicitudes con error
Operaciones de base de datos
• Incluye operaciones CRUD sobre todos los recursos
Operaciones de clave de cuenta
Solicitudes no autenticadas
• Solicitudes que generan una respuesta 401
R E G I S T R O D E A C T I V I D A D
P R O B A R LO C A L M E N T E
Azure Cosmos DB Emulator
aka.ms/cosmosdb-emulator
Azure Cosmos DB gratis
azure.microsoft.com/try/cosmosdb/
P R O B A R E N L A N U B E
aka.ms/cosmos-db-migrationtool
M I G R A R D ATO S
aka.ms/cosmosdbri
C A PA C I D A D R E S E R VA D A
• Prepago de 1 a 3 años
• Hasta un 65% de descuento
cosmos.azure.com
C O S M O S E X P LO R E R
cosmos.azure.com
C O S M O S E X P LO R E R
docs.microsoft.com/azure/cosmos-db/tutorial-setup-ci-cd
C O S M O S D B A Z U R E D E V O P S
askcosmosdb@microsoft.com
@AzureCosmosDB
#CosmosDB
cosmosdb.com #azure-cosmosdb
Matías Quaranta - @ealsur

Más contenido relacionado

La actualidad más candente

Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSAmazon Web Services LATAM
 
Big Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWSBig Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWSAmazon Web Services LATAM
 
Que es azure sql datawarehouse
Que es azure sql datawarehouseQue es azure sql datawarehouse
Que es azure sql datawarehouseEduardo Castro
 
Evaluación y prácticas para migrar a la nube
Evaluación y prácticas para migrar a la nubeEvaluación y prácticas para migrar a la nube
Evaluación y prácticas para migrar a la nubeAmazon Web Services LATAM
 
Técnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSTécnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSAmazon Web Services LATAM
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSAmazon Web Services LATAM
 
Introducción a R - Primeros pasos en R
Introducción a R - Primeros pasos en RIntroducción a R - Primeros pasos en R
Introducción a R - Primeros pasos en RSolidQ
 
Technology Architect - Coorganizador AWS User Group Palma
Technology Architect - Coorganizador AWS User Group PalmaTechnology Architect - Coorganizador AWS User Group Palma
Technology Architect - Coorganizador AWS User Group PalmaGabriel Fernandez
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSAmazon Web Services LATAM
 

La actualidad más candente (17)

Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
 
Construyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWSConstruyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWS
 
Big Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWSBig Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWS
 
Que es azure sql datawarehouse
Que es azure sql datawarehouseQue es azure sql datawarehouse
Que es azure sql datawarehouse
 
Evaluación y prácticas para migrar a la nube
Evaluación y prácticas para migrar a la nubeEvaluación y prácticas para migrar a la nube
Evaluación y prácticas para migrar a la nube
 
Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
Técnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSTécnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWS
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECS
 
Introducción a R - Primeros pasos en R
Introducción a R - Primeros pasos en RIntroducción a R - Primeros pasos en R
Introducción a R - Primeros pasos en R
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
Technology Architect - Coorganizador AWS User Group Palma
Technology Architect - Coorganizador AWS User Group PalmaTechnology Architect - Coorganizador AWS User Group Palma
Technology Architect - Coorganizador AWS User Group Palma
 
Explorando los Sabores de Azure DW
Explorando los Sabores de Azure DWExplorando los Sabores de Azure DW
Explorando los Sabores de Azure DW
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWS
 

Similar a Expert Academy Chile - Azure Cosmos DB SQL

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
 
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
 
Azure CosmosDB @ NETConf AR 2017
Azure CosmosDB @ NETConf AR 2017Azure CosmosDB @ NETConf AR 2017
Azure CosmosDB @ NETConf AR 2017Matias Quaranta
 
Aplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesAplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesSergio Borromei
 
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian MirandaEscalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian MirandaSpanishPASSVC
 
[CatchIT] Serverless con Azure Cosmos DB + Functions
[CatchIT] Serverless con Azure Cosmos DB + Functions[CatchIT] Serverless con Azure Cosmos DB + Functions
[CatchIT] Serverless con Azure Cosmos DB + FunctionsMatias Quaranta
 
Introduccion a AWS
Introduccion a AWSIntroduccion a AWS
Introduccion a AWSHermann Pais
 
Servicios amazon en la nube.
Servicios amazon en la nube.Servicios amazon en la nube.
Servicios amazon en la nube.SusySotelo1
 
Migración de máquinas virtuales y recuperación ante desastres en AWS
Migración de máquinas virtuales y recuperación ante desastres en AWSMigración de máquinas virtuales y recuperación ante desastres en AWS
Migración de máquinas virtuales y recuperación ante desastres en AWSAmazon Web Services LATAM
 
Plataforma FONDEF
 Plataforma FONDEF Plataforma FONDEF
Plataforma FONDEFCITIAPS
 
Sql azure
Sql azureSql azure
Sql azureWarGeek
 
SQL Azure Small
SQL Azure SmallSQL Azure Small
SQL Azure SmallWarGeek
 
Big data y las apis
Big data y  las apis Big data y  las apis
Big data y las apis CloudAppi
 
Seminario web: Simplificando el uso de su base de datos con Atlas
Seminario web: Simplificando el uso de su base de datos con AtlasSeminario web: Simplificando el uso de su base de datos con Atlas
Seminario web: Simplificando el uso de su base de datos con AtlasMongoDB
 

Similar a Expert Academy Chile - Azure Cosmos DB SQL (20)

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
 
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
 
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
 
Azure CosmosDB @ NETConf AR 2017
Azure CosmosDB @ NETConf AR 2017Azure CosmosDB @ NETConf AR 2017
Azure CosmosDB @ NETConf AR 2017
 
Aplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesAplicaciones móviles super-escalables
Aplicaciones móviles super-escalables
 
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian MirandaEscalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
Escalando con SQL Server hasta la nube, un trayecto necesario - Adrian Miranda
 
[CatchIT] Serverless con Azure Cosmos DB + Functions
[CatchIT] Serverless con Azure Cosmos DB + Functions[CatchIT] Serverless con Azure Cosmos DB + Functions
[CatchIT] Serverless con Azure Cosmos DB + Functions
 
Introduccion a AWS
Introduccion a AWSIntroduccion a AWS
Introduccion a AWS
 
Azure Data Lake
Azure Data LakeAzure Data Lake
Azure Data Lake
 
Azure data lake
Azure data lakeAzure data lake
Azure data lake
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Servicios amazon en la nube.
Servicios amazon en la nube.Servicios amazon en la nube.
Servicios amazon en la nube.
 
Migración de máquinas virtuales y recuperación ante desastres en AWS
Migración de máquinas virtuales y recuperación ante desastres en AWSMigración de máquinas virtuales y recuperación ante desastres en AWS
Migración de máquinas virtuales y recuperación ante desastres en AWS
 
Plataforma FONDEF
 Plataforma FONDEF Plataforma FONDEF
Plataforma FONDEF
 
Introduccion a aws
Introduccion a awsIntroduccion a aws
Introduccion a aws
 
Base de datos
Base de datosBase de datos
Base de datos
 
Sql azure
Sql azureSql azure
Sql azure
 
SQL Azure Small
SQL Azure SmallSQL Azure Small
SQL Azure Small
 
Big data y las apis
Big data y  las apis Big data y  las apis
Big data y las apis
 
Seminario web: Simplificando el uso de su base de datos con Atlas
Seminario web: Simplificando el uso de su base de datos con AtlasSeminario web: Simplificando el uso de su base de datos con Atlas
Seminario web: Simplificando el uso de su base de datos con Atlas
 

Más de Matias Quaranta

Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...Matias Quaranta
 
Microsoft Data & AI Experience LATAM 2018 - Azure Cosmos DB
Microsoft Data & AI Experience LATAM 2018 - Azure Cosmos DBMicrosoft Data & AI Experience LATAM 2018 - Azure Cosmos DB
Microsoft Data & AI Experience LATAM 2018 - Azure Cosmos DBMatias Quaranta
 
Azure Cosmos DB - NET Conf UY 2017
Azure Cosmos DB - NET Conf UY 2017Azure Cosmos DB - NET Conf UY 2017
Azure Cosmos DB - NET Conf UY 2017Matias Quaranta
 
Azure Cosmos DB - Azure Austin Meetup
Azure Cosmos DB - Azure Austin MeetupAzure Cosmos DB - Azure Austin Meetup
Azure Cosmos DB - Azure Austin MeetupMatias Quaranta
 
Azure Cosmos DB - NET Conf AR 2017 - English
Azure Cosmos DB - NET Conf AR 2017 - EnglishAzure Cosmos DB - NET Conf AR 2017 - English
Azure Cosmos DB - NET Conf AR 2017 - EnglishMatias Quaranta
 
Azure DocumentDB en Global Azure Bootcamp 2017
Azure DocumentDB en Global Azure Bootcamp 2017Azure DocumentDB en Global Azure Bootcamp 2017
Azure DocumentDB en Global Azure Bootcamp 2017Matias Quaranta
 
Conociendo Azure AppService
Conociendo Azure AppServiceConociendo Azure AppService
Conociendo Azure AppServiceMatias Quaranta
 
Azure DocumentDB en Dev@Nights
Azure DocumentDB en Dev@NightsAzure DocumentDB en Dev@Nights
Azure DocumentDB en Dev@NightsMatias Quaranta
 

Más de Matias Quaranta (9)

Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
 
Microsoft Data & AI Experience LATAM 2018 - Azure Cosmos DB
Microsoft Data & AI Experience LATAM 2018 - Azure Cosmos DBMicrosoft Data & AI Experience LATAM 2018 - Azure Cosmos DB
Microsoft Data & AI Experience LATAM 2018 - Azure Cosmos DB
 
Azure Cosmos DB - NET Conf UY 2017
Azure Cosmos DB - NET Conf UY 2017Azure Cosmos DB - NET Conf UY 2017
Azure Cosmos DB - NET Conf UY 2017
 
Azure Cosmos DB - Azure Austin Meetup
Azure Cosmos DB - Azure Austin MeetupAzure Cosmos DB - Azure Austin Meetup
Azure Cosmos DB - Azure Austin Meetup
 
Azure Cosmos DB - NET Conf AR 2017 - English
Azure Cosmos DB - NET Conf AR 2017 - EnglishAzure Cosmos DB - NET Conf AR 2017 - English
Azure Cosmos DB - NET Conf AR 2017 - English
 
Azure DocumentDB en Global Azure Bootcamp 2017
Azure DocumentDB en Global Azure Bootcamp 2017Azure DocumentDB en Global Azure Bootcamp 2017
Azure DocumentDB en Global Azure Bootcamp 2017
 
Conociendo Azure AppService
Conociendo Azure AppServiceConociendo Azure AppService
Conociendo Azure AppService
 
Azure DocumentDB en Dev@Nights
Azure DocumentDB en Dev@NightsAzure DocumentDB en Dev@Nights
Azure DocumentDB en Dev@Nights
 
Azure Web Scalability
Azure Web ScalabilityAzure Web Scalability
Azure Web Scalability
 

Último

2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptxccordovato
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptxSergiothaine2
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...jhoecabanillas12
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfEDUARDO MAMANI MAMANI
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docxmarthaarroyo16
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 

Último (17)

2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptx
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 

Expert Academy Chile - Azure Cosmos DB SQL

  • 1. A Z U R E C O S M O S D B F U N D A M E N TA L S
  • 2. James Whittaker - @docjamesw “We are reducing the world to data”
  • 3. L A S A P L I C A C I O N E S M O D E R N A S E N F R E N TA N N U E V O S D E S A F Í O S Administrar y sincronizar datos distribuidos en todo el mundo Entregar personalización que responde muy adecuadamente y en tiempo real Procesamiento y análisis de muchos datos complejos Escalación tanto de rendimiento como de almacenamiento con base en demanda global Entrega de baja latencia a usuarios globales Modernización de aplicaciones y datos existentes
  • 4. SQL: MongoDB API de tabla Distribución global Escalabilidad horizontal elástica de almacenamiento y rendimiento Baja latencia garantizada en el percentil 99 SLAs completos Cinco modelos de consistencia bien definidos A Z U R E C O S M O S D B DocumentoFamilia de columnas Valor de clave Gráfico Un servicio de base de datos globalmente distribuido, escalable masivamente y multi-modelo
  • 5. C A R A C T E R I S T I C A S P R I N C I PA L E S
  • 6. D I S T R I B U C I Ó N G LO B A L PONGA SUS DATOS DONDE ESTÁN SUS USUARIOS Replique automáticamente todos los datos de todo el mundo, y en más regiones que Amazon y Google combinados. • Disponible en todas las regiones de Azure • Conmutación por error manual y automática • Replicación multi-región automática y sincrónica
  • 7. E S C A L A B I L I D A D E L Á S T I C A D E A L M A C E N A M I E N TO Y R E N D I M I E N TO SE ESCALA EN LA MEDIDA EN QUE SUS APLICACIONES NECESITEN CAMBIAR Independientemente y elásticamente escale almacenamiento y rendimiento en todas las regiones, incluso durante ráfagas de tráfico imprevisibles - con una base de datos que se adapta a las necesidades de su aplicación. • Escale el rendimiento de forma elástica de 10 a 100s de millones de solicitudes/seg en múltiples regiones • Soporte para solicitudes/seg para distintas cargas de trabajo • Pague sólo por el rendimiento y el almacenamiento que necesita
  • 8. B A J A L AT E N C I A G A R A N T I Z A D A PROPORCIONAR A LOS USUARIOS DE TODO EL MUNDO ACCESO RÁPIDO A DATOS Servir a <10 ms solicitudes de lectura y de escritura en el 99o percentil de la región más cercana a los usuarios, mientras se entregan los datos a nivel mundial.
  • 9. Robusta Obsolescencia limitada Sesión Prefijo consistente Eventual C I N C O M O D E LO S D E C O N S I S T E N C I A B I E N D E F I N I D O S ELEGIR EL MEJOR MODELO DE CONSISTENCIA PARA SU APLICACIÓN Ofrece cinco modelos de consistencia Proporciona control sobre las compensaciones de rendimiento-consistencia, respaldado por amplios SLAs. Un modelo de programación intuitiva que ofrece baja latencia y alta disponibilidad para su aplicación a escala del planeta.
  • 10. M Ú LT I P L E S M O D E LO S D E D ATO S Y A P I S UTILICE EL MODELO QUE MEJOR SE ADAPTE A SUS NECESIDADES, Y LAS APIS, HERRAMIENTAS Y MARCOS DE TRABAJO QUE PREFIERA Familia de columna Documento Valor de clave API de tabla SQL: MongoDB Gráfico Cosmos DB ofrece una multitud de APIs para el acceso y la consulta de datos incluyendo, SQL, diversas APIs OSS populares y soporte nativo para cargas de trabajo de NoSQL. Uso de datos de valor de clave, tabulares, gráficos y de documentos Los datos se indexan automáticamente, sin esquema o índices secundarios necesarios Consultas ultrarrápidas sin ningún retraso
  • 11. M A N E J E C U A LQ U I E R T I P O D E D ATO S S I N R E Q U E R I R D E E S Q U E M A O I N D E X A C I Ó N El servicio sin esquema de Azure Cosmos DBs indexa automáticamente todos sus datos, independientemente del modelo de datos, para entregar consultas rapidísimas. Ítem Color Seguro para microondas Capacidad Líquida CPU Memoria Almacen amiento Taza geek Grafito Sí 16ox ??? ??? ??? Taza de grano de café Cuero No 12oz ??? ??? ??? Surface book Gris ??? ??? 3.4 GHz Intel Skylake Core i7- 6600U 16GB 1 TB SSD • Administración automática de índice • Auto-indexación automática sincrónica • No se necesitan esquemas ni índices secundarios • Funciona a través de cada modelo de datos GEEK
  • 12. S L A S C O M P L E TO S EJECUTE SUS APLICACIONES EN UNA INFRAESTRUCTURA DE CLASE MUNDIAL Azure Cosmos DB es el único servicio con SLAs respaldados financieramente para una latencia de milisegundos en el 99o percentil, 99,999% de HA y rendimiento y consistencia garantizados HALatencia <10 ms Percentil 99o 99.999% Rendimiento Consistencia Garantizado Garantizado
  • 13. C O N F Í E S U S D ATO S A L A S E G U R I D A D Y C O N F O R M I D A D L Í D E R E S E N L A I N D U S T R I A Azure es la nube más confiable del mundo, con más certificaciones que cualquier otro proveedor de nube. • Seguridad de nivel empresarial • Cifrado en reposo • El cifrado es activado automáticamente de manera predeterminada • Certificación completa de conformidad de Azure
  • 14. D ATO S D I S T R I B U I D O S Y D I S P O N I B L E S E N TO D O E L M U N D O Ponga sus datos donde están sus usuarios para brindar acceso en tiempo real y servicio ininterrumpido a los clientes en cualquier parte del mundo. • Replicación de datos global "turnkey" en todas las regiones de Azure • Experiencia de baja latencia garantizada para usuarios globales • Resiliencia para alta disponibilidad y recuperación ante desastres
  • 15. G E N E R E E X P E R I E N C I A S D E C L I E N T E E N T I E M P O R E A L Ofrece aplicaciones sensibles a la latencia con personalización, licitación y detección de fraudes. • Los modelos de aprendizaje de máquina generan recomendaciones en tiempo real a través de catálogos de productos • Análisis de productos en milisegundos • La baja latencia garantiza un alto rendimiento de las aplicaciones en todo el mundo • Modelos de consistencia sintonizables para obtener conocimientos rápidos Servicio de recomendaciones en línea Ruta de acceso ACTIVA Motor de recomendaciones sin conexión Ruta de acceso INACTIVA
  • 16. I D E A L PA R A J U E G O S Y C O M E R C I O E L E C T R Ó N I C O Mantener la calidad del servicio durante períodos de alto tráfico que requieren escalabilidad y rendimiento masivos. • La escalación instantánea y elástica maneja las ráfagas de tráfico • Experiencia de usuario global ininterrumpida • Acceso y procesamiento de datos de baja latencia para bases de usuarios grandes y cambiantes • Alta disponibilidad a lo largo de múltiples centros de datos
  • 17. T E L E M E T R I A D E S D E I OT Las cargas de trabajo de sensor de IoT que son diversas e imprevisibles requieren una plataforma de datos que responda adecuadamente • Manipulación perfecta de cualquier salida o volumen de datos • Los datos se ponen a disposición de manera inmediata y son automáticamente indexados • Alto número de escrituras por segundo, con rendimiento estable de ingesta y consultas
  • 18. D E S A R R O L LO S I M P L I F I C A D O C O N A R Q U I T E C T U R A S I N S E R V I D O R Experimente una disminución en el tiempo de implementación, una mejor escalabilidad y la libertad de la administración de marco de trabajo con micro- servicios orientados hacia eventos. • Manipulación perfecta de cualquier salida o volumen de datos • Los datos se ponen a disposición de manera inmediata y son automáticamente indexados • Alto número de escrituras por segundo, con rendimiento estable de ingesta y consultas • Feeds de cambio resilientes y en tiempo real siempre conectados y accesible • Integración nativa con Azure Functions
  • 19. N O S Q L L I F T & S H I F T Facilite la modernización de datos con una migración de perfecta de cargas de trabajo de NoSQL hacia la nube. • Las APIs de Azure Cosmos DB APIs para MongoDB y Cassandra traen datos de aplicaciones desde cualquier lugar hacia Azure Cosmos DB • Aproveche las herramientas, controladores y bibliotecas existentes y continúe utilizando los SDKs de las aplicaciones existentes • Geo-replicación "turnkey" • No requiere infraestructura o administración de VM .NET
  • 20. M O D E LO D E R E C U R S O S
  • 21. Cuenta Base de datos Base de datos Base de datos Base de datos Base de datosContenedor Base de datos Base de datosÍtem U R I Y C R E D E N C I A L E S D E C U E N TA ********.azure.com IGeAvVUp …
  • 22. C R E A R U N A C U E N TA Cuenta Base de datos Base de datos Base de datos Base de datos Base de datosContenedor Base de datos Base de datosÍtem
  • 23. R E P R E S E N TA C I O N E S D E B A S E D E D ATO S Cuenta Base de datos Base de datos Base de datos Base de datos Base de datosContenedor Base de datos Base de datosÍtem Base de datos Base de datosContenedor Base de datos Base de datosÍtem
  • 24. R E P R E S E N TA C I O N E S D E C O N T E N E D O R Cuenta Base de datos Base de datos Base de datos Base de datos Base de datosContenedor Base de datos Base de datosÍtem = Colección Gráfico Tabla
  • 25. C R E A C I Ó N D E C O L E C C I O N E S - S Q L A P I Cuenta Base de datos Base de datos Base de datos Base de datos Base de datosContenedor Base de datos Base de datosÍtem
  • 26. R E C U R S O S A N I V E L D E C O N T E N E D O R Cuenta Base de datos Base de datos Base de datos Base de datos Base de datosContenedor Base de datos Base de datosÍtem ConflictoSproc Triggers UDF
  • 27. TO P O LO G I A Y PA R T I C I O N A M I E N TO
  • 28. TO P O LO G Í A D E S I S T E M A Resource Manager Language Runtime(s) Hosts Query Processor RSM Index Manager Bw-tree++/ LLAMA++ Log Manager IO Manager Resource Governor Transport Database engine Admission control … … Planeta tierra Regiones de Azure Datacenters Stamps Fault domains Cluster Machine Replica Database engine Container Various agents
  • 29. TO P O LO G I A D E S I S T E M A CONTENEDORES Los recursos lógicos se “proyectan" en APIs como tablas, colecciones o gráficos, que se compone de una o más particiones físicas o servidores. PARTICIONES DE RECURSOS • Primitivos de coordinación altamente disponibles y gobernados por recursos • Constan de conjuntos de réplicas, con cada réplica hospedando una instancia del motor de base de datos Contenedores Particiones de recursos ColeccionesTablas Gráficos Inquilinos Líder Seguidor Seguidor Reenviador Conjunto de réplicas A partición(es) de recurso remoto
  • 30. PA R T I C I O N E S Cosmos DB Container (ej. Colección) Clave de partición: ID de usuario Abstracción de particionamiento lógico Tras Bambalinas: Conjuntos de particiones físicas Hash (ID de usuario) Distribución pseudo aleatoria de datos a lo largo de un rango de posibles valores con hash
  • 31. PA R T I C I O N E S … Partición 1 Partición 2 Partición n # frugal de particiones con base en las necesidades reales de rendimiento y almacenamiento (produciendo la escalabilidad con un bajo costo total de propiedad) Hash (ID de usuario) Distribución pseudo aleatoria de datos a lo largo de un rango de posibles valores con hash Andrew Mike … Bob Dharma Shireesh Karthik Rimma Alice Carol …
  • 32. PA R T I C I O N E S … Partición 1 Partición 2 Partición n ¿Qué sucede cuando las particiones necesitan crecer? Hash (ID de usuario) Distribución pseudo aleatoria de datos a lo largo de un rango de posibles valores con hash Andrew Mike … Bob Dharma Shireesh Karthik Rimma Alice Carol …
  • 33. PA R T I C I O N E S Los Rangos de partición pueden ser dinámicamente sub- divididos para hacer que la base de datos crezca perfectamente conforme la aplicación crezca mientras se mantiene una alta disponibilidad de manera simultánea. La administración de particiones está completamente administrada por Azure Cosmos DB, de modo que usted no tiene que escribir código ni administrar sus particiones. + Partición x Partición x1 Partición x2 Hash (ID de usuario) Distribución pseudo aleatoria de datos a lo largo de un rango de posibles valores con hash Rimma Karthik … Dharma Shireesh Karthik Rimma Alice Carol … Dharma Shireesh …
  • 34. U N I D A D E S D E S O L I C I T U D ( R U )
  • 35. U N I D A D E S D E S O L I C I T U D Las Unidades de solicitud (RUS) son una unidad basada en velocidad Abstrae los recursos físicos para llevar a cabo las solicitudes Clave para eficiencia de multi-inquilinos, SLAs y COGS Actividades en primero y segundo plano % IOPS% CPU% Memoria
  • 36. U N I D A D E S D E S O L I C I T U D Normalizado a través de diversos métodos de acceso 1 RU = 1 lectura de documento de 1 KB Cada solicitud consume RUs fijos Se aplica a lecturas, escrituras, consultas y ejecución de procedimiento almacenado GET POST PUT QUERY … = = = =
  • 37. U N I D A D E S D E S O L I C I T U D Aprovisionado en términos de RU/seg Limitación de velocidad en función de la cantidad de rendimiento aprovisionado Puede ser aumentado o disminuido de forma instantánea Se mide cada hora Los procesos en segundo plano como expiración de TTL y transformaciones de índice se programan cuando están inactivos Min RU/seg Máx RU/seg Solicitudesentrantes Réplica inactiva Límite de velocidad No hay límite de velocidad
  • 38. U N I D A D E S D E S O L I C I T U D Cuenta Base de datos Base de datos Base de datos Base de datos Base de datosContenedor
  • 39. U N I D A D E S D E S O L I C I T U D Cuenta Base de datos Base de datos Base de datos Base de datos Base de datosContenedor Base de datos Base de datosContenedor Base de datos Base de datosContenedor
  • 40. VA L I D A C I Ó N D E L A O P C I Ó N D E N I V E L D E R E N D I M I E N TO 1. Compruebe si sus operaciones tienen limitación de velocidad. • Solicitudes que exceden el gráfico de capacidad 2. Verifique si el rendimiento consumido supera el rendimiento aprovisionado en cualquiera de las particiones físicas • Max RU/segundo consumido de acuerdo al gráfico de partición 3. Seleccione el momento en que el rendimiento máximo consumido por partición exceda el aprovisionado en el gráfico • Rendimiento máximo consumido por cada gráfico de partición
  • 41. M OTO R D E I N D E X A M I E N TO
  • 42. M A N E J E C U A LQ U I E R T I P O D E D ATO S S I N R E Q U E R I R D E E S Q U E M A O I N D E X A C I Ó N El servicio sin esquema de Azure Cosmos DBs indexa automáticamente todos sus datos, independientemente del modelo de datos, para entregar consultas rapidísimas. Ítem Color Seguro para microondas Capacidad Líquida CPU Memoria Almacen amiento Taza geek Grafito Sí 16ox ??? ??? ??? Taza de grano de café Cuero No 12oz ??? ??? ??? Surface book Gris ??? ??? 3.4 GHz Intel Skylake Core i7- 6600U 16GB 1 TB SSD • Administración automática de índice • Auto-indexación automática sincrónica • No se necesitan esquemas ni índices secundarios • Funciona a través de cada modelo de datos GEEK
  • 43. I N D E X A D O D E D O C U M E N TO S { "locations": [ { "country": "Germany", "city": "Berlin" }, { "country": "France", "city": "Paris" } ], "headquarter": "Belgium", "exports": [ { "city": "Moscow" }, { "city": "Athens" } ] } locations headquarter exports 0 country city Germany Berlin 1 country city France Paris 0 1 city Athens city Moscow Belgium
  • 44. I N D E X A D O D E D O C U M E N TO S { "locations": [ { "country": "Germany", "city": "Bonn", "revenue": 200 } ], "headquarter": "Italy", "exports": [ { "city": "Berlin", "dealers": [ { "name": "Hans" } ] }, { "city": "Athens" } ] } locations headquarter exports 0 country city Germany Bonn revenue 200 0 1 citycity Berlin Italy dealers 0 name Hans
  • 45. I N D E X A D O D E D O C U M E N TO S locations headquarter exports 0 country city Germany Bonn revenue 200 0 1 citycity Berlin Italy dealers 0 name Hans locations headquarter exports 0 country city Germany Berlin 1 country city France Paris 0 1 city Athens city Moscow Belgium
  • 46. Í N D I C E I N V E R T I D O locations headquarter exports 0 country city Germany Berlin revenue 200 0 1 city Athens city Berlin Italy dealers 0 name Hans Bonn 1 country city France Paris Belgium Moscow
  • 47. Í N D I C E I N V E R T I D O Terms Postings (Doc Ids) $/locations/0/ 1, 2 locations/0/country 1, 2 locations/0/city 1, 2 0/country/Germany 1, 2 1/country/France 1 0/city/Moscow 1 0/dealers/0 2 … …
  • 48. P O L Í T I C A S D E I N D E X A C I Ó N POLÍTICAS DE INDEXACIÓN PERSONALIZADA Aunque todos datos de Azure Cosmos DB están indexados de manera predeterminada, usted puede especificar una política de indexación personalizada para sus colecciones. Las políticas de indexación personalizadas le permiten diseñar y personalizar la forma de su índice, manteniendo la flexibilidad del esquema. • Defina compensaciones entre rendimiento de almacenamiento, escritura y consultas y consistencia de consulta • Incluya o excluya documentos y rutas hacia y desde el índice • Configure diversos tipos de índice { "automatic": true, "indexingMode": "Consistent", "includedPaths": [{ "path": "/*", "indexes": [{ "kind": "Hash", "dataType": "String", "precision": -1 }, { "kind": "Range", "dataType": "Number", "precision": -1 }, { "kind": "Spatial", "dataType": "Point" }] }], "excludedPaths": [{ "path": "/nonIndexedContent/*" }] }
  • 49. T R A N S F O R M A C I O N E S D E Í N D I C E E N L Í N E A CAMBIOS AL ÍNDICE SOBRE LA MARCHA En Azure Cosmos DB usted puede realizar cambios a la política de indexación de una colección sobre la marcha. Los cambios pueden afectar la forma del índice, incluyendo rutas, valores de precisión y su modelo de consistencia. Un cambio en la política de indexación requiere una transformación efectiva del índice antiguo en un nuevo índice.
  • 50. S Q L S Y N TA X
  • 51. S Q L Q U E R Y S Y N TA X SELECT tickets.id, tickets.pricePaid FROM tickets BASIC QUERY SYNTAX Las palabras clave SELECT & FROM son los componentes básicos de cada consulta. SELECT t.id, t.pricePaid FROM tickets t
  • 52. S Q L Q U E R Y S Y N TA X - W H E R E FILTRADO WHERE admite expresiones escalares complejas incluyendo operadores aritméticos, de comparación y lógicos SELECT tickets.id, tickets.pricePaid FROM tickets WHERE tickets.pricePaid > 500.00 AND tickets.pricePaid <= 1000.00
  • 53. S Q L Q U E R Y S Y N TA X - P R O Y E C C I Ó N PROYECCIÓN JSON Si sus cargas de trabajo requieren un determinado esquema de JSON, Azure Cosmos DB admite proyección JSON dentro de sus consultas SELECT { "id": tickets.id, "flightNumber": tickets.assignedFlight.flightNumber, "purchase": { "cost": tickets.pricePaid }, "stops": [ tickets.assignedFlight.origin, tickets.assignedFlight.destination ] } AS ticket FROM tickets
  • 54. S Q L Q U E R Y S Y N TA X - P R O Y E C C I Ó N SELECT VALUE La palabra clave VALUE puede aplanar aún más la colección de resultados si es necesario para una determinada carga de trabajo de aplicación SELECT VALUE { "id": tickets.id, "flightNumber": tickets.assignedFlight.flightNumber, "purchase": { "cost": tickets.pricePaid }, "stops": [ tickets.assignedFlight.origin, tickets.assignedFlight.destination ] } FROM tickets
  • 55. J O I N I N T R A - D O C U M E N TO Azure Cosmos DB admite JOINs intra-documento para matrices no normalizadas Supongamos que tenemos dos documentos JSON en una colección: SQL:
  • 56. J O I N I N T R A - D O C U M E N TO Podemos filtrar en una determinada posición de índice de matriz sin JOIN: SQL:
  • 57. J O I N I N T R A - D O C U M E N TO JOIN nos permite combinar matrices o documentos incorporados en múltiples documentos y retornar un conjunto de resultados aplanado: SQL:
  • 58. J O I N I N T R A - D O C U M E N TO Junto con JOIN, también podemos filtrar los productos cruzados sin conocer la posición de índice de matriz: SQL:
  • 59. B Ú S Q U E D A D E U B I C A C I Ó N V I N C U L A D A U T I L I Z A N D O G E O - D ATO S ESPECIFICACIÓN GEOJSON Azure Cosmos DB admite la indexación y consulta de datos de punto geoespacial que son representados mediante la especificación de GeoJSON. BUSCAR POR DISTANCIA DESDE PUNTO La función incorporada ST_DISTANCE retorna la distancia entre los dos expresiones de punto GeoJSON. BUSCAR SIN POLÍGONO ENLAZADO La función incorporada ST_WITHIN retorna un valor booleano que indica la primera expresión de punto GeoJSON está dentro de una expresión de polígono GeoJSON.
  • 60. B Ú S Q U E D A D E D I S TA N C I A D E S D E E L P U N TO C E N T R A L ST_DISTANCE ST_DISTANCE puede ser utilizarse para medir la distancia entre dos puntos. Normalmente esta función se utiliza para determinar si un punto se encuentra dentro de un rango especificado (metros) de otro punto.
  • 61. B U S C A R F O R M A D E P O L Í G O N O ST_WITHIN ST_WITHIN puede utilizarse para comprobar si un punto se encuentra dentro de un Polígono. Los Polígonos son usados comúnmente para representar fronteras como códigos postales, fronteras estatales o formaciones naturales. Los argumentos de polígono en ST_WITHIN pueden contener solo un único anillo, es decir, los Polígonos no deben contener agujeros dentro de ellos.
  • 62. A G R E G A D O D E PA R T I C I Ó N C R U Z A D A LA AGREGACIÓN DE BAJA LATENCIA FUNCIONA A TRAVÉS DE MÚLTIPLES PARTICIONES Puede enviar una consulta SQL sencilla y Azure Cosmos DB maneja el enrutamiento de la consulta entre las particiones de datos y combina los resultados para retornar los valores agregados finales. Ejemplo – Contoso Air
  • 63. S O P O R T E P R O G R A M AT I C O
  • 64. S Q L S D K API REST
  • 65. PA R A L E L I S M O D E C O N S U LTA D E L C L I E N T E LAS CONSULTAS DE PARTICIÓN CRUZADA SE PUEDEN PARALELIZAR PARA UTILIZAR TANTOS SUBPROCESOS COMO SEA POSIBLE Los procesadores modernos vienen con núcleos tanto físicos como virtuales (hyper-threading). Para cualquier consulta de partición cruzada, el SDK puede utilizar subprocesos simultáneos para emitir la consulta a través de las particiones subyacentes. De manera predeterminada, el SDK usa un algoritmo de inicio lento para consultas de partición cruzada, que aumenta la cantidad de subprocesos lo largo del tiempo. Este incremento es exponencial hasta cualquier limitación física o de red. Subproceso de consulta DOP = 1 Subproceso primario Subproceso simultáneo Subproceso simultáneo Subproceso simultáneo DOP = 4
  • 66. B Ú F E R D E R E S P U E S TA D E C L I E N T E 1 3 2 4 5 6
  • 67. B U L K E X E C U TO R S D K BULK API
  • 68. MongoDB wire protocol Azure Cosmos DB Mongo API M O N G O D B W I R E P R OTO C O L
  • 69. Cassandra wire protocol Azure Cosmos DB Apache Cassandra API C A S S A N D R A W I R E P R OTO C O L
  • 70. Gremlin wire protocol Azure Cosmos DB Graph API G R E M L I N W I R E P R OTO C O L
  • 71. C O N T R O L A R L A C O N C U R R E N C I A U T I L I Z A N D O E TA G S CONCURRENCIA OPTIMISTA • La SQL API admite el control de simultaneidad optimista (OCC) a través de etiquetas de entidad HTTP, o ETags • Cada recurso SQL API tiene una propiedad de sistema de ETag, y el valor de ETag se genera en el servidor cada vez que un documento se actualiza. • Si el valor de ETag se mantiene constante, eso significa que ningún otro proceso ha actualizado el documento. Si el valor de ETag muta inesperadamente, eso significa que otro proceso simultáneo ha actualizado el documento. • Las ETags pueden utilizarse con el encabezado de solicitud HTTP If-Match para permitir que el servidor decida si un recurso debe ser actualizado: HTTP 412
  • 72. BENEFICIOS • Lenguaje de programación familiar • Transacciones atómicas • Optimizaciones incorporadas • Encapsulamiento lógico de negocios P R O C E D I M I E N TO S A L M A C E N A D O S
  • 73. T R A N S A C C I O N E S D E M Ú LT I P L E S D O C U M E N TO S TRANSACCIONES DE BASE DE DATOS En una base de datos típica, una transacción puede ser definida como una secuencia de operaciones realizadas como una sola unidad lógica de trabajo. Cada transacción proporciona garantías ACID. En Azure Cosmos DB, JavaScript se hospeda en el mismo espacio de memoria que la base de datos. Por lo tanto, las solicitudes realizadas dentro de los procedimientos y desencadenadores almacenados se ejecutan en el mismo ámbito de una sesión de base de datos. Crear nuevo documento Colección de consulta Actualizar documento existente Eliminar documento existente Los procedimientos almacenados utilizan aislamiento de instantánea para garantizar que todas las lecturas dentro de la transacción observen una instantánea consistente de los datos
  • 74. E J E C U C I Ó N V I N C U L A D A EJECUCIÓN DENTRO DE LOS LÍMITES DE TIEMPO Todas las operaciones de Azure Cosmos DB se deben completar dentro de la duración del tiempo de expiración de la solicitud especificada por el servidor. Si una operación no se completa dentro de ese plazo, la transacción se revierte. VALOR BOOLEANO DE APLICACIÓN AUXILIAR Todas las funciones bajo el objeto de colección (para crear, leer, reemplazar y eliminar documentos y archivos adjuntos) retornan un valor Booleano que describe si esa operación se completa: • If true, se espera que la operación se complete • If false, el plazo pronto expirará y su función debería finalizar la ejecución tan pronto como sea posible.
  • 75. M O D E LO D E C O N T I N U A C I Ó N D E T R A N S A C C I Ó N CONTINUACIÓN DE TRANSACCIONES DE LARGA EJECUCIÓN • Las funciones de JavaScript pueden implementar un modelo basado en continuación para colocar en masa/reanudar la ejecución • El valor de continuación puede ser cualquier valor que usted elija. Este valor puede ser utilizado por sus aplicaciones para reanudar una transacción desde un nuevo "punto de inicio" Crear documentos en masa Retornar un "puntero" para reanudar más tarde Observar Retornar Valor Intentar crear Cada documento Hecho
  • 76. R E V E R T I R T R A N S A C C I O N E S REVERSIÓN DE TRANSACCIONES Dentro de una función de JavaScript, todas las operaciones son ajustadas automáticamente bajo una única transacción: • Si la función se completa sin ninguna excepción, todos los cambios de datos son ejecutados • Si se arroja alguna excepción desde el script, el tiempo de ejecución de JavaScript de Azure Cosmos DB revertirá toda la transacción. Crear nuevo documento Colección de consulta Actualizar documento existente Eliminar documento existente En caso de excepción, deshacer cambios Ámbito de la transacción
  • 77. F U N C I O N E S D E F I N I D A S P O R U S U A R I O UDF • Las Funciones definidas por usuario (UDFs) se usan para extender la gramática de lenguaje de consulta de la SQL API de Azure Cosmos DB e implementar lógica de negocios personalizada. Las UDFs sólo pueden llamarse desde dentro de las consultas • No tienen acceso al objeto de contexto y están destinadas a ser utilizadas como código exclusivo de cómputo
  • 78. D E F I N I C I Ó N D E F U N C I Ó N D E F I N I D A P O R U S U A R I O
  • 79. U S O D E L A F U N C I Ó N D E F I N I D A P O R U S U A R I O E N C O N S U LTA S SQL:
  • 80. C H A N G E F E E D Registros persistentes dentro un contenedor Azure Cosmos DB. Presentados en el orden en que fueron modificados
  • 81. E S C E N A R I O S D E C H A N G E F E E D
  • 82. C H A N G E F E E D P R O C E S S O R L I B R A R Y https://www.nuget.org/packages /Microsoft.Azure.DocumentDB.ChangeFeedProcessor/
  • 83. Nivel de aplicación de procesamiento de evento/stream C H A N G E F E E D C O N PA R T I C I O N E S Paralelización de consumidor El Change Feed escucha para detectar cualquier cambio en la colección de Azure Cosmos DB. A continuación, brinda como salida la lista ordenada de documentos que fueron cambiados en el orden en que fueron modificados. Los cambios se conservan, pueden ser procesados de forma asíncrona y progresivamente y la salida puede ser posteriormente distribuida a través de uno o más consumidores para el procesamiento paralelo. El Change Feed está disponible para cada rango de clave de partición dentro de la colección de documentos y, por lo tanto, puede ser distribuido a través de uno o más consumidores para procesamiento paralelo. Consumidor 1 Consumidor 2 Consumidor 3
  • 84. C H A N G E F E E D C O N PA R T I C I O N E S
  • 85. I N T E G R A C I O N C O N A Z U R E F U N C T I O N S
  • 86. I N T E G R A C I O N C O N A Z U R E F U N C T I O N S
  • 87. R E P L I C A C I O N G LO B A L
  • 88. D I S T R I B U C I O N G LO B A L Alta disponibilidad • Conmutación por error automática y manual • La API de hospedaje múltiple elimina la necesidad de una redistribución Baja latencia (en cualquier parte del mundo) • Los paquetes no pueden moverse más rápido que la velocidad de la luz • El envío de un paquete al otro lado del mundo bajo condiciones de red ideales toma 100s de milisegundos. • Usted puede engañar a la velocidad de la luz, empleando localidad de datos • CDN solucionó esto para contenido estático • Azure Cosmos DB resuelve esto para contenido dinámico
  • 89. D I S T R I B U C I Ó N G LO B A L • Replicación automática y transparente en todo el mundo • Cada partición contiene hospeda un conjunto de réplicas por región • Los clientes pueden probar la disponibilidad de aplicaciones de extremo a extremo mediante la simulación programática de conmutaciones por error • Todas las regiones están ocultas detrás de un único URI global con capacidades de hospedaje múltiple • Los clientes pueden agregar / eliminar dinámicamente regiones adicionales en cualquier momento Escribe/ Lee Lee "airport" : “AMS" "airport" : “MEL" Oeste de los EE. UU: Contenedor "airport" : "LAX" Distribución local (a través de partición horizontal) Distribuciónmundial(departicionesderecursos) Lee 30K de transacciones/seg Escribe / Lee Lee Lee Europa Occidental 30K de transacciones/seg Partition-key = "airport"
  • 90. R E P L I C A C I Ó N D E D ATO S E N TO D O E L M U N D O
  • 91. R E P L I C A C I Ó N D E D ATO S E N TO D O E L M U N D O
  • 92. R E P L I C A C I Ó N D E D ATO S E N TO D O E L M U N D O
  • 93. FA I LO V E R A U TO M ÁT I C O
  • 94. FA I LO V E R M A N U A L
  • 95. S O P O R T E M U LT I M A S T E R aka.ms/multimasterdocs Region A Region B Region C Azure Traffic Manager Master (read/write) Master (read/write) Master (read/write) Master (read/write) Replica (read) Replica (read)
  • 96. S O P O R T E M U LT I M A S T E R Reads (1KB) P50 P99 <2ms <10ms Indexed writes (1KB) <6ms <10ms
  • 97. R E S O L U C I O N D E C O N F L I C TO S Last Writer Wins • Por defecto • Los conflictos se resuelven por el valor de una propiedad numérica definida por el usuario o el timestamp (_ts) • Disponible en todos los modelos de datos.
  • 98. R E S O L U C I O N D E C O N F L I C TO S User Defined Procedure • Ejecuta un Stored Procedure ante el conflicto • Permite acceder otros datos en el contenedor
  • 99. R E S O L U C I O N D E C O N F L I C TO S Manual o Asincrónico • Se configura como Custom sin Stored Procedure
  • 100. R E S O L U C I O N D E C O N F L I C TO S Manual o Asincrónico • Puede resolverse programáticamente o a través de herramientas
  • 101. Robusta Obsolescencia limitada Sesión Prefijo consistente Eventual C I N C O M O D E LO S D E C O N S I S T E N C I A B I E N D E F I N I D O S ELEGIR EL MEJOR MODELO DE CONSISTENCIA PARA SU APLICACIÓN Cinco modelos de consistencia bien definidos Reemplazar por solicitud Proporciona control sobre las compensaciones de rendimiento-consistencia, respaldado por amplios SLAs. Un modelo de programación intuitiva que ofrece baja latencia y alta disponibilidad para su aplicación a escala del planeta. COMPENSACIONES CLARAS • Latencia • Disponibilidad • Rendimiento
  • 102. D E S M I T I F I C A R M O D E LO S D E C O N S I S T E N C I A Consistencia robusta Garantiza instrucción atómica. Una vez que la operación se completa, será visible para todos los lectores de una manera muy consistente a través de las réplicas. Consistencia eventual Las réplicas son eventualmente consistentes con cualquier operación. Hay un potencial de lecturas fuera de orden. Menor costo y mayor rendimiento para lecturas de todos los niveles de consistencia. Robusta Eventual
  • 103. Obsolescencia limitada Sesión Prefijo consistente D E S M I T I F I C A R M O D E LO S D E C O N S I S T E N C I A Obsolescencia limitada Lee el desfase que está por detrás de las escrituras en la mayoría de los prefijos k o intervalos t. Propiedades similares para una consistencia robusta excepto dentro de la ventana de obsolescencia. Sesión Dentro de una sesión, las lecturas y escrituras son monotónicas. Esto se conoce como "lea sus escrituras" y "escritura sigue a lecturas". Consistencia previsible para una sesión. Alto rendimiento de lectura y baja latencia fuera de la sesión. Prefijo consistente Las lecturas nunca verán escrituras fuera de orden.
  • 104. Algunos datos producidos por aplicaciones sólo son útiles durante un periodo limitado de tiempo: • Datos de eventos generados por máquina • Datos de registro de aplicación • Información de sesión de usuario Es importante que el sistema de base de datos sistemáticamente purgue estos datos a intervalos preconfigurados. D ATO S D E T I E M P O D E V I D A C O R TO
  • 105. P E R Í O D O D E V I D A ( T T L ) PURGAR LOS DATOS AUTOMÁTICAMENTE Azure Cosmos DB le permite configurar el intervalo de tiempo en el cual radiquen los documentos en la base de datos antes de que se purguen automáticamente. El "Período de vida" (TTL) de un documento se mide en segundos desde la última modificación y se puede configurar a nivel de colección con reemplazo bajo un régimen por documento. .
  • 106. R E G I S T R O S Q U E E X P I R A N U T I L I Z A N D O P E R Í O D O D E V I D A COMPORTAMIENTO TTL La característica TTL es controlada por las propiedades TTL en dos niveles: el nivel de colección y el nivel de documento. • DefaultTTL para la colección • Si faltan (o están configurados como nulos), los documentos no se eliminan automáticamente. • Si están presentes y el valor es "-1" = infinito, los documentos no expiran predeterminadamente • Si están presentes, y el valor es un número ("n"), los documentos expiran "n" segundos después de la última modificación • TTL para los documentos: • La propiedad es aplicable sólo s/i DefaultTTL está presente en la colección primaria. • Reemplaza el valor DefaultTTL de la colección primaria. Los valores se configuran en segundos y se tratan como un delta de _ts de cuando se modificó el documento por última vez. Documento Documento TTL TTL predeterminado
  • 107. QUÉ ES REGISTRADO POR AZURE DIAGNOSTIC LOGS Todas las solicitudes de backend autenticadas a lo largo de todos los protocolos y APIs • Incluye solicitudes con error Operaciones de base de datos • Incluye operaciones CRUD sobre todos los recursos Operaciones de clave de cuenta Solicitudes no autenticadas • Solicitudes que generan una respuesta 401 R E G I S T R O D E A C T I V I D A D
  • 108.
  • 109. P R O B A R LO C A L M E N T E Azure Cosmos DB Emulator aka.ms/cosmosdb-emulator
  • 110. Azure Cosmos DB gratis azure.microsoft.com/try/cosmosdb/ P R O B A R E N L A N U B E
  • 112. aka.ms/cosmosdbri C A PA C I D A D R E S E R VA D A • Prepago de 1 a 3 años • Hasta un 65% de descuento
  • 113. cosmos.azure.com C O S M O S E X P LO R E R
  • 114. cosmos.azure.com C O S M O S E X P LO R E R