SlideShare una empresa de Scribd logo
1 de 36
Replicaciones masivas y escenarios desconectados 
400 
@ 
#SQSummit 
Rubén Garrigós 
Mentor 
rgarrigos@solidq.com 
MCT – MCAD – MCSD – MCSE - MCSA
Agenda 
3 
1. Replicación en escenarios complejos 
2. Balanceo de carga SQL 
3. Entornos desconectados de la nube 
4. Reducción de latencias contra la nube
Replicación en escenarios 
complejos
Replicación en escenarios complejos 
Organizaciones complejas 
– Oficinas, múltiples CPDs y cloud 
– Master data management 
WAN vs LAN 
– Ancho de banda 
– Latencia 
Patrones de replicación 
Escalado horizontal 
Tolerancia a fallos 
Reducción de latencia
IT Enterprise 2000
IT Enterprise 2005-2009
IT Enterprise 2010+
IT Enterprise 2014+
Master data management
Replicación como parte de MDM
WAN vs LAN 
25 saltos 
>26000 Km
Ancho de banda disponible 
TCP utiliza regulación 
de flujo mediante 
ACKs 
– Si no llega un ACK se 
presupone congestión 
Uso de redes móviles 
– Mayor tasa de errores 
– Mayor latencia
Latencia y transacciones/sec 
Crítica en sistemas OLTP 
Crítica en sistemas con 
procesos operando fila 
a fila. 
Consideraciones 
– Reubicación de capas 
– Empaquetado en 
batches 
– Explotar paralelismo
Cómo ayuda la replicación 
Localidad de los datos 
– Cloud / CPD remoto 
– CPD local 
– Máquina local 
Ancho de banda y latencia 
– Cloud / CPD remoto  Pocos Mbps, compartidos, asimétricos, 
alta latencia 
– CPD local  Algunos cientos de Mbps, compartidos, 
simétricos, baja latencia 
– Máquina local  
• Por TCP  1 Gbps, dedicados, simétricos, muy baja latencia 
• Por Shared Memory  Decenas de Gbps, dedicados, simétricos, 
ultrabaja latencia
Patrones de replicación
Master-Subordinate 
El caso más sencillo de todos 
Acceso read-only 
Incremental 
– Replicación transaccional 
Snapshot 
– Replicación de instantáneas
Master-Subordinate en cascada 
• Escenario con 
republicaciones 
• Acceso read-only multinivel
Master-Master por filas 
Acceso lectura/escritura 
Resolución de conflictos 
Coordinador de 
sincronización 
Replicación de mezcla
Master-Master por transacciones 
Acceso lectura/escritura 
Diseño específico 
– Sin conflictos 
– Sin bucles 
Replicación transaccional actualizable 
Replicación P2P 
– Puede ser multinivel 
– Conectada totalmente o parcialmente
P2P 
Nodo 1 
Nodo 5 Nodo 4 
Nodo 3 
Nodo 2 
Nodo 1.2 
Nodo 1 Nodo 2 
LAN LAN 
Nodo 3 
Nodo 1 
Nodo 5 
Nodo 2 
Nodo 4 
Nodo 1.1 
Nodo 1.3 Nodo 1.4 
Nodo 2.2 
Nodo 2.1 
Nodo 2.3 Nodo 2.4 
Nodo 3.1 
WAN 
Nodo 3 
LAN 
Nodo 3.2 
Nodo 3.3 Nodo 3.4
Balanceo de carga SQL
Escenarios de balanceo 
Escalabilidad horizontal y alta disponibilidad 
Carga de solo lectura 
– Transaccional 1 a N 
– Snapshot 1 a N 
– Mezcla 1 a N (artículos download only) 
Carga de lectura/escritura 
– Transaccional actualizable 1 a N 
– P2P N a N 
– Mezcla 1 a N
Balanceadores 
Transparentes 
– Balanceador hardware 
– Afinidad por IP, round robin… 
– Detección de nivel de carga y no-disponibilidad de nodo 
No transparentes 
– Controlado por software (middleware o cliente) 
– Particionado de carga más inteligente 
– Más flexible y adaptable 
– Adaptación de aplicaciones existentes 
Mixtos
DEMO 
25 
Balanceo con sistema automático 
de suscripciones en función de la 
carga
Balanceo de carga SQL 
La replicación permite crear soluciones con 
escalabilidad horizontal 
Requiere trabajo de diseño y mayor 
mantenimiento 
Puede combinarse con esquemas en cascada 
– Reducción de latencia 
– Aumento de disponibilidad local 
Tolerancia a estados incoherentes entre nodos 
Troubleshooting más complejo
Entornos desconectados de la 
nube
Escenarios desconectados 
Criticidad de la operativa 
– Cajas de un supermercado 
– Acceso a datos hospitalarios 
Conectividad limitada a Internet o sincronización 
controlada 
– Entornos móviles 
– Tarifas de datos / Wifi 
En nube pública 
– No controlamos las ventanas de mantenimiento del 
proveedor 
– Poca capacidad de presión en caso de incidencia
Escenarios desconectados en la nube 
Máquinas virtuales pequeñas 
– Escenarios con republicaciones 
– BBDD escalables/particionadas horizontalmente 
Alta disponibilidad más compleja 
– El distribuidor solo soporta HA con failover clustering 
– Grupos de disponibilidad para las distintas VMs 
Si no queremos utilizar VPNs 
– Protocolo TDS con SSL 
– Replicación de mezcla con sincronización web por 
https
DEMO 
30 
IIS balanceado en la nube para 
replicación de mezcla con Web 
Synchronization
Escenarios desconectados en la nube 
La nube encaja bien como CPD global, no tanto como CPD 
local 
– Disponibilidad de recursos casi ilimitados 
– El alta disponibilidad no está garantizada 
• SLA VMs >= 99,95% uptime  tolerar hasta 5 minutos de downtime 
por semana 
• Uptime < 99,95%  10% descuento, Uptime < 99%  descuento 25% 
• “Los abonos de servicio en cualquier mes no excederán, bajo ninguna 
circunstancia, las tasas mensuales de Servicio del Cliente”  Peor 
escenario para MS = no cobrar ese mes 
La seguridad de las comunicaciones es importante 
– La replicación transmite los datos en claro 
– Muy poca gente utiliza SSL sobre TDS (por defecto en SQL 
Database)
Reducción de latencias con la 
nube
Estrategias de cacheo 
Cacheo “in-process” 
– Más rápido 
– No compartido 
– Capacidad total limitada 
Cacheo “out of process” 
– Puede ser compartida 
– Mayor capacidad 
– Azure Cache, MemCached, Redis… 
– Instancia de SQL Server  In-Memory 
– Ficheros locales  Filetable
Estrategias de empaquetado 
Batches pequeños vs batches grandes 
Procedimientos almacenados temporales 
SET NO COUNT 
Compresión de datos 
– Compresión de texto 
– Compresión binaria
DEMO 
35 
Batches y empaquetado de 
datos
Conclusiones 
Cada vez las organizaciones tienen 
infraestructuras más complejas 
Sincronización con CPDs remotos y cloud 
– Latencia 
– Ancho de banda 
Patrones de replicación de datos 
Escalado horizontal 
Tolerancia a fallos 
Reducción de latencia
Si quieres disfrutar de las mejores sesiones de 
nuestros mentores de España y Latino América, 
ésta es tu oportunidad. 
http://summit.solidq.com 
Síguenos: 
40

Más contenido relacionado

Similar a Replicaciones masivas y escenarios desconectados | SolidQ Summit 2014

Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012Eduardo Castro
 
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...Eduardo Castro
 
Alta disponiblidad en SQL Server 2012
Alta disponiblidad en SQL Server 2012Alta disponiblidad en SQL Server 2012
Alta disponiblidad en SQL Server 2012Eduardo Castro
 
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012SolidQ
 
Softonic Labs - Web Escalable
Softonic Labs - Web EscalableSoftonic Labs - Web Escalable
Softonic Labs - Web EscalableAlex Puig
 
Nuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTPNuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTPSolidQ
 
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)Leandro Guerra
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLCarlos Gustavo Ruiz
 
Diseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureDiseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureJoseph Lopez
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Miguel Gallardo
 
Carbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareCarbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareJulián Castiblanco
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
 
Diagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnDiagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnEnrique Catala Bañuls
 
The azure platform TechDay2010
The azure platform TechDay2010The azure platform TechDay2010
The azure platform TechDay2010Juan Pablo
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosSpanishPASSVC
 

Similar a Replicaciones masivas y escenarios desconectados | SolidQ Summit 2014 (20)

Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012
 
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
 
Alta disponiblidad en SQL Server 2012
Alta disponiblidad en SQL Server 2012Alta disponiblidad en SQL Server 2012
Alta disponiblidad en SQL Server 2012
 
Tdd bdd-practico-dominio-rico
Tdd bdd-practico-dominio-ricoTdd bdd-practico-dominio-rico
Tdd bdd-practico-dominio-rico
 
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
 
Digital server 14
Digital server 14Digital server 14
Digital server 14
 
Softonic Labs - Web Escalable
Softonic Labs - Web EscalableSoftonic Labs - Web Escalable
Softonic Labs - Web Escalable
 
Nuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTPNuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTP
 
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQL
 
Diseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureDiseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL Azure
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
 
Carbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareCarbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshare
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
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
 
Diagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnDiagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOn
 
The azure platform TechDay2010
The azure platform TechDay2010The azure platform TechDay2010
The azure platform TechDay2010
 
Sistemas distribuidosz
Sistemas distribuidoszSistemas distribuidosz
Sistemas distribuidosz
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizados
 

Más de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 

Más de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (16)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Replicaciones masivas y escenarios desconectados | SolidQ Summit 2014

  • 1. Replicaciones masivas y escenarios desconectados 400 @ #SQSummit Rubén Garrigós Mentor rgarrigos@solidq.com MCT – MCAD – MCSD – MCSE - MCSA
  • 2. Agenda 3 1. Replicación en escenarios complejos 2. Balanceo de carga SQL 3. Entornos desconectados de la nube 4. Reducción de latencias contra la nube
  • 4. Replicación en escenarios complejos Organizaciones complejas – Oficinas, múltiples CPDs y cloud – Master data management WAN vs LAN – Ancho de banda – Latencia Patrones de replicación Escalado horizontal Tolerancia a fallos Reducción de latencia
  • 11. WAN vs LAN 25 saltos >26000 Km
  • 12. Ancho de banda disponible TCP utiliza regulación de flujo mediante ACKs – Si no llega un ACK se presupone congestión Uso de redes móviles – Mayor tasa de errores – Mayor latencia
  • 13. Latencia y transacciones/sec Crítica en sistemas OLTP Crítica en sistemas con procesos operando fila a fila. Consideraciones – Reubicación de capas – Empaquetado en batches – Explotar paralelismo
  • 14. Cómo ayuda la replicación Localidad de los datos – Cloud / CPD remoto – CPD local – Máquina local Ancho de banda y latencia – Cloud / CPD remoto  Pocos Mbps, compartidos, asimétricos, alta latencia – CPD local  Algunos cientos de Mbps, compartidos, simétricos, baja latencia – Máquina local  • Por TCP  1 Gbps, dedicados, simétricos, muy baja latencia • Por Shared Memory  Decenas de Gbps, dedicados, simétricos, ultrabaja latencia
  • 16. Master-Subordinate El caso más sencillo de todos Acceso read-only Incremental – Replicación transaccional Snapshot – Replicación de instantáneas
  • 17. Master-Subordinate en cascada • Escenario con republicaciones • Acceso read-only multinivel
  • 18. Master-Master por filas Acceso lectura/escritura Resolución de conflictos Coordinador de sincronización Replicación de mezcla
  • 19. Master-Master por transacciones Acceso lectura/escritura Diseño específico – Sin conflictos – Sin bucles Replicación transaccional actualizable Replicación P2P – Puede ser multinivel – Conectada totalmente o parcialmente
  • 20. P2P Nodo 1 Nodo 5 Nodo 4 Nodo 3 Nodo 2 Nodo 1.2 Nodo 1 Nodo 2 LAN LAN Nodo 3 Nodo 1 Nodo 5 Nodo 2 Nodo 4 Nodo 1.1 Nodo 1.3 Nodo 1.4 Nodo 2.2 Nodo 2.1 Nodo 2.3 Nodo 2.4 Nodo 3.1 WAN Nodo 3 LAN Nodo 3.2 Nodo 3.3 Nodo 3.4
  • 22. Escenarios de balanceo Escalabilidad horizontal y alta disponibilidad Carga de solo lectura – Transaccional 1 a N – Snapshot 1 a N – Mezcla 1 a N (artículos download only) Carga de lectura/escritura – Transaccional actualizable 1 a N – P2P N a N – Mezcla 1 a N
  • 23. Balanceadores Transparentes – Balanceador hardware – Afinidad por IP, round robin… – Detección de nivel de carga y no-disponibilidad de nodo No transparentes – Controlado por software (middleware o cliente) – Particionado de carga más inteligente – Más flexible y adaptable – Adaptación de aplicaciones existentes Mixtos
  • 24. DEMO 25 Balanceo con sistema automático de suscripciones en función de la carga
  • 25. Balanceo de carga SQL La replicación permite crear soluciones con escalabilidad horizontal Requiere trabajo de diseño y mayor mantenimiento Puede combinarse con esquemas en cascada – Reducción de latencia – Aumento de disponibilidad local Tolerancia a estados incoherentes entre nodos Troubleshooting más complejo
  • 27. Escenarios desconectados Criticidad de la operativa – Cajas de un supermercado – Acceso a datos hospitalarios Conectividad limitada a Internet o sincronización controlada – Entornos móviles – Tarifas de datos / Wifi En nube pública – No controlamos las ventanas de mantenimiento del proveedor – Poca capacidad de presión en caso de incidencia
  • 28. Escenarios desconectados en la nube Máquinas virtuales pequeñas – Escenarios con republicaciones – BBDD escalables/particionadas horizontalmente Alta disponibilidad más compleja – El distribuidor solo soporta HA con failover clustering – Grupos de disponibilidad para las distintas VMs Si no queremos utilizar VPNs – Protocolo TDS con SSL – Replicación de mezcla con sincronización web por https
  • 29. DEMO 30 IIS balanceado en la nube para replicación de mezcla con Web Synchronization
  • 30. Escenarios desconectados en la nube La nube encaja bien como CPD global, no tanto como CPD local – Disponibilidad de recursos casi ilimitados – El alta disponibilidad no está garantizada • SLA VMs >= 99,95% uptime  tolerar hasta 5 minutos de downtime por semana • Uptime < 99,95%  10% descuento, Uptime < 99%  descuento 25% • “Los abonos de servicio en cualquier mes no excederán, bajo ninguna circunstancia, las tasas mensuales de Servicio del Cliente”  Peor escenario para MS = no cobrar ese mes La seguridad de las comunicaciones es importante – La replicación transmite los datos en claro – Muy poca gente utiliza SSL sobre TDS (por defecto en SQL Database)
  • 31. Reducción de latencias con la nube
  • 32. Estrategias de cacheo Cacheo “in-process” – Más rápido – No compartido – Capacidad total limitada Cacheo “out of process” – Puede ser compartida – Mayor capacidad – Azure Cache, MemCached, Redis… – Instancia de SQL Server  In-Memory – Ficheros locales  Filetable
  • 33. Estrategias de empaquetado Batches pequeños vs batches grandes Procedimientos almacenados temporales SET NO COUNT Compresión de datos – Compresión de texto – Compresión binaria
  • 34. DEMO 35 Batches y empaquetado de datos
  • 35. Conclusiones Cada vez las organizaciones tienen infraestructuras más complejas Sincronización con CPDs remotos y cloud – Latencia – Ancho de banda Patrones de replicación de datos Escalado horizontal Tolerancia a fallos Reducción de latencia
  • 36. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com Síguenos: 40

Notas del editor

  1. 16:48 – 3 minutos Las organizaciones medianas-grandes tienen muchas ubicaciones, los clientes valoran la localidad WAN vs LAN Tipica aplicación que “nace” en LAN y empieza a dar más servicio a distintas oficinas y dptos. Una opción es rediseñarla, otra adaptarla para replicación.
  2. 16:53 – 8 minutos
  3. 17:00 – 15 minutos
  4. 17:05 – 20 minutos
  5. SQL no dispone de un sistema de balanceo incorporado Transparentes: Menos control por parte de la aplicación, solo ve una IP, Mas sencillos Si no los redundamos, riesgo de punto de fallo No transparentes: Más control por la aplicación, que tiene N IPs donde enviar conexiones Permite enviar peticiones priorizadas de un Idcliente a un nodo más potente por ejemplo o hacer una especie de federaciones/sharding manual Más complicado de manejar 17:10 – 25 minutos
  6. 17:25 – 40 minutos (+15)
  7. 17:31 – 46 minutos (+15)
  8. 17:41 – 56 minutos (+10)
  9. 17:46 – 61 minutos (+5)
  10. 17:56 – 71 minutos (+10)
  11. 17:58 – 73 minutos (+2)