La plataforma de datos tradicional ha muerto, ha nacido una nueva plataforma de datos ubicua. Virtualizacion de datos, plataformas hibridas donde el dato no existe en una única fuente y escala sin limites. Estamos en la epoca donde realmente existe una plataforma de datos moderna. En esta sesión hablaremos del estado actual de la plataforma de datos en Microsoft
3. #netcoreconf
Enrique Catalá Bañuls
▪ Ingeniero informatico
▪ Microsoft Data Platform MVP
▪ Technical leader en SolidQ
▪ Performance tuning, HA
▪ Modernizaciones de plataforma
▪ …
ecatala@solidq.com
5. #netcoreconf
Despliegues clásicos: Standalone
• Instalación tradicional
• 1 instancia corriendo en una
máquina
StandAlone
Databases (on-prem disks)
Client
applications
Databases (blob storage)
6. #netcoreconf
Despliegues clásicos: Failover Cluster Instance
• Instalación tradicional HA
• 1 instancia activa corriendo y
“n” pasivas (apagadas)
Active node
SAN (shared resource)
Pasive node1
FCI
Client
applications
Pasive node N
7. #netcoreconf
Despliegues clásicos: Geo-cluster (geo fci)
• Instalación HA soporte caídas de
CPD
• Al final es “engañar” a SQL y al OS
para que crea que todo está en el
mismo CPD
• Suele ser caros por el HW+SW
específicos de cabinaActive node
data (shared resource)
Pasive node1
FCI
Client
applications
Pasive node N Passive nodeN+1
Passive data (shared resource)
Pasive node N+2 Pasive node 64
SAN Replication
Storage
CPD 2
Storage replica
CPD 1
8. #netcoreconf
Despliegues clásicos: AlwaysOn
Client
applications
Primary Replica Secondary replica
01
Secondary replica
08
Listener
• HA y escalabilidad horizontal de
lecturas
• Entornos multi-site
• Mejor ROI
• Todas las instancias activas, solo
una con RW
• Solo se replican BBDD, no objetos
a nivel de instancia* Listener prescindible en SQL 2019
9. #netcoreconf
Despliegues clásicos: FCI+AG
• La mejor HA
• Redundancia de instancia completa
• Redundancia de datos
• Failover automático por FCI
• Failover manual por AG
*a partir de SQL2017 no requiere WSFC
WSFC 2
Malaga
Windows Server Failover Cluster 1
Sevilla1
SQL Server
Instance
Sevilla2
SQL Server
Instance
SQL Server
Instance
Availability Group AGListener
Primary
FCI
Secondar
y FCI
Active node
SAN (shared resource)
Client
applications
Pasive node
Primary FCI
Active node
SAN (shared resource)
Pasive node
Secondary FCI
Secondar
y FCI
Active node
SAN (shared resource)
Pasive node
Secondary FCI
10. #netcoreconf
Despliegues clásicos: Combinaciones variadas 1
CPD 2CPD 1
SQL
FCI2
Windows Server Failover Cluster (WSFC with 6 nodes)
SQL Server
Instance
SQL Server
Instance
AO PRIMARY AO
Secondary
CPD 2CPD 1
SQL
FCI
NODE1
(active)
SAN (shared resource)
NODE2
(passive)
NODE3
(passive)
SAN (shared resource)
NODE4
(passive)
SAN
nativereplication
FileShare vote
(quorum)
GEOCLUSTER OLTP
NODE5
(active fci2, passive AO)
SAN (shared resource)
NODE6
(passive AO)
SAN
nativereplication
SAN (shared resource)
FileShare vote
(quorum)
GEOCLUSTER REPORTING
11. #netcoreconf
Despliegues clásicos: Combinaciones variadas 2
Windows Server Failover Cluster
SQL Server
Instance
SQL Server
Instance
SQL Server
Instance
Async Availability Group AGListener
GEOCLUSTER AO
Secondary
Reporting APPs
(ApplicationIntent=
ReadOnly)
DAS (Direct Attached Storage)
Standalone on CPD1
AO
Secondary
DAS (Direct Attached Storage)
Pasive node
Standalone on CPD2
CPD 2CPD 1
SQL
FCI
Active node
SAN (shared resource)
Pasive node Pasive node
SAN (shared resource)
Pasive node
SAN
nativereplication
FileShare vote
(quorum)
GEOCLUSTER
Pasive node
OLTP Apps
13. #netcoreconf
HA de misión crítica en cualquier plataforma
• High Availability
• Offload Backups
• Scale BI Reporting
• Enables Testing
• Enables Migrations
• Always On para linux y
windows para HA y DR
• Arquitecturas HA flexibles
• Balanceo de carga sobre
secundarios para leer
17. #netcoreconf
SQL Server en contenedores
Developers
• Construir 1 vez, desplegar
en cualquier sitio
• Runtime limpio, seguro y
portable
• Diferentes versiones de sw
en paralelo y aisladas
Testing
• Automatizacion de pruebas
• Eliminacion de
incompatibilidades
• Instant replay con reset de
imagen
DevOps
• Segragacion de entornos
• Mejora de velocidad y
fiabilidad de implantación
continua
• Abaratamiento
• Correr varios containers
en un mismo VM
18. DEMO
Docker nativo en Windows con persistencia de datos
https://github.com/enriquecatala/mssql-server-samplesdb
23. #netcoreconf
SQL Server PaaS
Azure SQL Database
Database-scoped deployment option with
predictable workload performance
Shared resource model optimized for greater
efficiency of multi-tenant applications
Best for apps that require resource
guarantee at database level
Best for SaaS apps with multiple databases that can share
resources at database level, achieving better cost efficiency
Best for modernization at scale with
low friction and effort
Elastic PoolSingle Managed Instance
Instance-scoped deployment option with high
compatibility with SQL Server and full PaaS benefits
Hyperscale
ServiceTiers
Serverless
24. #netcoreconf
SQL Serverless: Una alternativa interesante
• Solo recomendable para entornos DEV
• Permite definir vCores (min,max) y que fluctúen
según carga
• Coste por segundos
• Autopausa
• Si pausado, compute cost = 0
• Ideal para DevOps e integración continua
https://docs.microsoft.com/es-es/azure/sql-database/sql-database-serverless
25. #netcoreconf
SQL Server hyperscale
• Pensado para OLTP
• Hasta 100TB
• Backups casi instantáneos
• Restores en menos de 15m
• Escalado rápido horizontal
• Escalado rápido vertical