SlideShare a Scribd company logo
#azuresatpn
Azure Saturday 2019
Azure SQL Database
Gianluca Hotz – @glhotz
Gianluca Hotz | @glhotz | ghotz@ugiss.org
• Consulente indipendente e trainer
• 20+ anni con SQL Server
dalla 4.21 nel 1996…
• Community
• 20+ anni Microsoft MVP SQL
Server dal 1998…
• Fondatore e presidente UGISS
• User Group Italiano SQL
Server
• Co-organizzatore DAMAG Meetup
#azuresatpn
Quante volte…
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-paas-vs-sql-server-iaas
#azuresatpn
«Platform as a Service (PaaS)»
• Database fruibile come servizio
• Pagamento a consumo
• Completamente gestito
• Hardware, sistema operativo e software
• Alta disponibilità e «Disaster Recovery»
incorporati
• Scalabilità dinamica
• «Cloud First»
• Novità SQL Server introdotte prima in
Azure SQL Database…
• … ma c’è una sola codebase, quelle che
ha senso arrivano anche On-Premise
#azuresatpn
Azure Operational Data Services
SQL-based
• Azure SQL Database
• Traditional
• Managed Instance
• Azure Database for PostgreSQL
• Azure Database for MySQL
• Azure Database for MariaDB
NoSQL-based
• Azure Cosmos DB
• Redis Cache
My
#azuresatpn
Azure Modern Datawarehouse
Ingestion
• Azure Event Hubs
• Azure Data Factory
Storage
• Azure Blob Storage
• Azure Data Lake Storage
Preparation
• Azure Databricks
• Azure Data Lake Analytics
• Azure HDInsight
Model/serve
• Azure SQL Datawarehouse
• Azure Analysis Services
• Power BI
SQL Server 2019
Big Data Clusters (Preview)
Compute pool
SQL Compute
Node
SQL Compute
Node
SQL Compute
Node
…
Compute pool
SQL Compute
Node
IoT data
Directly
read from
HDFS
Persistent storage
…
Storage pool
SQL
Server
Spark
HDFS Data Node
SQL
Server
Spark
HDFS Data Node
SQL
Server
Spark
HDFS Data Node
Kubernetes pod
Analytics
Custom
apps BI
SQL Server
master instance
Node Node Node Node Node Node Node
SQL
Data mart
SQL Data
Node
SQL Data
Node
Compute pool
SQL Compute
Node
Storage Storage
https://docs.microsoft.com/en-us/sql/big-data-cluster/big-data-cluster-overview
#azuresatpn
Azure SQL Database deployment options
Elastic PoolSingle
Azure SQL Database
Modello a singolo database con
prestazioni carico di lavoro prevedibili
Modello molteplici database con risorse
condivise, ottimizzato per maggiore
efficienza applicazioni multi-tenant
Best for
applicazioni che richiedono risorse
garantite a livello di database
Best for
Applicazioni in modalità SaaS con
molteplici database che possono
condividere risorse
Best for
modernizzazione su larga
scala con minori sforzi e attriti
Managed Instance
Modello a istanza con elevata compatibilità con
SQL Server IaaS mantenendo i vantaggi di un PaaS
SQL
ServiceTiers
#azuresatpn
Opzioni «Compute» e «Storage» flessibili
DTU sono unità pre-confezionate che rappresentano potenza computazionale
Pensate per carico di lavoro con prestazioni predicibili ma limitate in termini di
flessibilità e opzioni
Dimensionamento basato su DTU offre semplicità di scelta
Storage
Compute
Storage
Compute
Modello vCore
Scalabilità indipendente
Modello DTU
Semplice, preconfigurato
Modello che permette di scegliere risorse «Compute» e «Storage» in modo
indipendente
Permette anche di usare «Azure Hybrid Benefit for SQL Server» per risparmiare
Offre flessibilità, controllo e trasparenza
#azuresatpn
Database Transaction Unit (DTU)
• Unità di misura rappresenta potenza relativa
• CPU, memoria, letture e scritture
• Espressa in numero di transazioni
• Completate a pieno carico
• Mix di transazioni OLTP
• Benchmark documentato
• Utile per confronti
• Calcolatore per stime…
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-what-is-a-dtu
#azuresatpn
Benefici modello vCore
• Più semplice mappare requisiti con
quelli on-premise
• Rimuove «guesswork» con DTU
• Gen 4 CPU
• Intel E5-2673 v3 (Haswell) 2.4 GHz
• 1 vCore = 1 CPU fisica
• Fino a 24 vCores, 7GB/core RAM
• Storage SSD
• Gen 5 CPU
• Intel E5-2673 v4 (Broadwell) 2.3 GHz
• 1 vCore = 1 CPU «hyper thread»
• Fino a 80 vCores, 5,1GB/core* RAM
• Storage eNVM SSD
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-vcore
#azuresatpn
«Scale up» e «Scale down»
• Modifica Livello di servizio
• «Service Tier/Performance Level»
• Operazione «Online»
• Copia o «attach/detach»
• Database sempre disponibile, interruzione durante «switch»
• Durata dipende dalla dimensione del database (da meno di 5min a 1min/GB)
• Attenzione a caratteristiche usate
• Es. dimensione inferiore a massimo spazio disponibile
• Es. fatturazione spazio eccedente quello incluso nel tier
#azuresatpn
Risorse preallocate e scalabilità
S0 S1 S2 S3
#azuresatpn
Risorse «Provisioned» e scalabilità
S1 S2 S3S0
#azuresatpn
«Elastic Database Pools»
• Pool di risorse condivise da più database
• DTU-Based
• vCore-Based
• «Auto-Scale» database entro range definiti
• Database aggiunti/rimossi a caldo
#azuresatpn
«Elastic Database Pools»
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool
Max
Min
#azuresatpn
Inefficienza preallocazione CPU
• Preallocazione
• efficace con pattern prevedibili
• Inefficienze
• Sovrallocazione
in periodi di utilizzo minore
• Sottoallocazione
per ridurre costi
• Tempo speso a gestirla
#azuresatpn
«Serverless» (Preview)
• Min/Max vCore
• Da 0,5 a 16
• «Autopause Delay»
• Costo zero
• Temo di «warmup»
• Fatturazione al secondo
• Al momento solo
• General Purpose vCore
• Gen 5 Hardware
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-serverless
#azuresatpn
Scenari «Serverless»
• Applicazioni «Line-of-Business»
• Es. report spese, timbrature, sistemi di «procurement»
• Applicazioni «E-Commerce»
• Es. apertura nuovi mercati, campagne di marketing, promozioni di vendita
• Applicazioni «CMS»
• Es. aggiornamento e pubblicazione contenuti
• Carichi di lavoro di test/sviluppo
• Imprevedibili per definizione 
#azuresatpn
Serverless Provisioned
Carico di lavoro Intermittente, imprevedibile,
con uso medio basso della CPU
nel tempo
Utilizzo più regolare, con uso
medio alto della CPU nel tempo
Costo di gestione allocazione
risorse
Basso Alto
Ridimensionamento risorse Automatico Manuale
Tempi di risposta richiesti Bassi dopo periodi di inattività Immediati
Fatturazione Al secondo Oraria
Confronto preallocato con «Serverless»
#azuresatpn
Database in pausa
• «Autopausing»
• Numero di sessioni = 0, CPU = 0 per carico di lavoro del pool
• Minimo 1 ora, massimo 7 giorni, incrementi da 1 ora
• Può essere disabilitato
• Latenza: generalmente da 1 a 10 minuti
• «Autoresuming»
• In generale a fronte di un login (ma anche altre operazioni)
• Connessione riceve errore, logica di «retry» obbligatoria..
• Latenza: generalmente 1 minuto
#azuresatpn
Limiti «Autopausing»
• «Geo-replication» e «Auto-Failover group» attivi
• «Long-term backup retention»
• «Sync Database» usato da SQL Data Sync (hub e member supportati)
• «Job database» usato da «Elastic jobs»
#azuresatpn
Dettagli che impattano sulle prestazioni…
• Reattività ridimensionamento
• Raramente risorse non disponibili, necessario «load balacing» (fino a qualche
minuto con chiusura connessioni)
• Gestione della memoria
• Cache reclamata più frequentemente, può impattare
• Mai sotto dimensione specifica per numero minimo vCores
#azuresatpn
Prezzi per sviluppo/test
• Diverse opzioni
• Individuale (Visual Studio Subscriber)
• Team (Enterprise Dev/Test per clienti EA)
• Team (Pay-As-You-Go Dev/Test per tutti gli altri clienti)
• Azure SQL Database sconti fino al 55%
• Disponibile anche «Reservation» (1 o 3 anni)
• Sconti anche su altro (es. VM Windows a prezzi VM Linux)
• Calcolatore
• https://azure.microsoft.com/en-
us/pricing/calculator/?devtest=true&service=sql-database
#azuresatpn
Azure Hybrid Benefit (AHB)
• Risparmio
• VM Windows Server
• Azure SQL Database vCore-Based
• SQL Server in Azure VMs
• SQL Server Intergration Service
• Calcolatore
• https://azure.microsoft.com/en-
us/pricing/hybrid-benefit
#azuresatpn
«Lift & Shift»
#azuresatpn
«Lift & Shift»
• Non sempre possibile in maniera semplice
• Problemi principali
• Non tutte funzionalità «On-Premise» disponibili in Azure SQL Database
• Es. CDC, CLR, FILESTREAM, PBM, Service Broker, …
• https://docs.microsoft.com/en-us/azure/sql-database/sql-database-features
• Non tutti i servizi disponibili in PaaS
• Es. Integration Services (SSIS), Reporting Services (SSRS), Master Data Services (MDS),
Data Quality Services (DQS)
#azuresatpn
Azure SQL Database Managed Instance
• Nuova opzione di Deployment di SQL Database
• Rappresenta ed espone l’intera istanza di SQL Server
• Molto differente «Azure SQL Database Logical Server»
• 100% copertura funzionalità «On-Premise» (quasi..)
• Mantiene tutti i vantaggi di un PaaS
• Completamente gestita
• «Scale up/down» semplice e rapido
• HA/DR già inclusi
#azuresatpn
M.I. quasi 100% SQL Server «On-Premise»
Data migration
• Native backup/restore
• Configurable DB file Layout
• DMS (migrations at scale)
Programmability
• Global temp tables
• Cross-database queries
and transactions
• Linked servers
• CLR modules
Security
• Integrated Auth (AAD)
• Encryption (TDE, AE)
• Sysadmin Privileges
• SQL Audit
• Row Level Security
• Dynamic Data Masking
Operational
• DMVs & XEvents
• Query Store
• SQL Agent
• DB Mail (external SMTP)
• Resource Governor
#azuresatpn
Ultimi rilasci «Managed Instance»
• Configurazione «Collation» a livello di istanza
• Configurazione «Time Zone» a livello di istanza (GA)
• «Public IP Endpoint»
• «Auto Failover Groups»
• Tagli più piccoli (4 vCore con Gen5)
• Global Trace Flags
• Supporto per rename database (ALTER DATABASE e sp_rename)
#azuresatpn
«Managed Instance» in «Preview»
• «Instance Pools»
• «TDE with BYOK»
• «Transparent Data Encryption with Bring Your Own Key»
• «Azure AD» login a livello di istanza
• Supporto replica transazionale
• Supporto per ricreare database eliminati
• Supporto a «Threat detection»
#azuresatpn
Azure SQL Database Hyperscale (Preview)
• Nuovo «Service Tier» per il modello vCore-based
• Supporta 100TB (di più… 100 sono quelli testati)
• Prestazioni elevate dovute a maggiore velocità scrittura transazioni
• «File Snapshots»
• Backup più veloci, hanno zero impatto sulle prestazioni
• Restore estremamente veloci, con tempo costante (Ignite 2018: 50TB in 7 min.)
• «Scale out» rapido
• Creazione di replica in sola lettura per redistribuzione carico di lavoro
• «Scale up/down» rapido
• Tempo costante, minuti, sia «storage» che «compute»
#azuresatpn
Azure SQL Database Hyperscale Componenti
• Compute Node (Query Engine)
• «Stateless», solo cache locale su SSD
• Page Server
• Local SSD cache
• Log Service
• Local SSD cache
• Remote Data Storage
#azuresatpn
Qualche numero…
• Scrittura Log nella «Landing Zone»
• < 2,5ms con Premium Storage
• < 0,5ms in futuro con Ultra SSD
• Letture
• < 0,5ms RBPEX locale
• < 2ms RBPEX page server
#azuresatpn
Disponibilità «Standard»
• 99.99% SLA
• Si applica a livelli di servizio Basic, Standard, General Purpose
• Modello basato su disaccoppiamento «compute» e «storage»
• Nodi «Compute» gestiti da Azure Service Fabric
• Ci sono sempre dei nodi «Compute» di scorta disponibili
• Disponibilità/ridondanza «built-in» in Azure Storage
• Potenziale degrado prestazioni
• Tempo di transizione
• Cache fredda
#azuresatpn
Disponibilità «Premium»
• 99.99% SLA
• Si applica a livelli di servizio Premium, Business Critical
• Modello basato su «Clustering»
• «Compute» e «Storage» su stesso nodo
• repliche basate su AlwaysOn Availability Groups
• «Read Scale-Out»
• Configurazione «Zone Redundant»
#azuresatpn
Backup automatici
• Frequenza
• «Full» settimanale
• «Differenziale» generalmente ogni giorno
• «Log» generalmente ogni 5 minuti
• «Backup set»
• Ridondati localmente (LRS)
• Ridondati geograficamente RA-GRS (regione geo-politica affine)
• «Retention»
• 7 giorni di default, fino a 35 giorni
• «Long-Term Backup Retention» (10 anni , RA-GRS, no M.I.)
#azuresatpn
Restore
• Restore «Point-in-time»
• A un qualunque punto nel tempo di «Retention»
• Restore nuovo database
• Geo-Restore
• Basic DR
• Almeno un FULL backup e un differenziale
#azuresatpn
«Active Geo-Replication»
• Fino a 4 copie secondarie asincrone
• Accessibili in sola lettura
• Supportati scenari di aggiornamento e trasferimento
• «Failover» manuale
• «Estimated Recovery Time»: <30 secondi
• «Recovery Point Objective»: <5 secondi
• Disponibile per tutti i «Service Tier» tranne «Managed Instance»
• «Auto-Failover Groups» (GA) per «Managed Instance»
#azuresatpn
«Read Scale-Out» GA
• Livello di servizio Premium, Business Critical e Hyperscale
• Usano AlwaysOn Availability Groups per alta disponibilità
• Ci sono già repliche secondarie disponibili
• «Read Scale-Out» permette di accedere in sola lettura
• No costi aggiuntivi
• Connessioni pilotate da «ApplicationIntent» (parametro di connessione)
• Consistenza a livello di sessione
#azuresatpn
«Data Discovery & Classification» (Preview)
• Rilevamento automatico di
colonne con dati sensibili
• Etichette permanenti aggiunte a
dati sensibili
• Audit accesso a dati sensibili in
base a classificazione
• Gestione etichette a livello di
«Azure Tenant» usando «Azure
Security Center»
#azuresatpn
«Vulnerability Assessment»
• Semplifica gestione «compliancy»
• Circa 50 controlli
• «On-premise» e «Cloud»
• Salvataggio report
• Baseline
• Focus su problemi veri
• Esecuzione periodica
• Mantenimento «compliancy»
SQL Server on-premises
Azure SQL Database, Azure SQL Data Warehouse
#azuresatpn
«SQL Database Threat Detection»
• Rileva potenziali minacce/vulnerabilità
• Vulnerabilità a «SQL Injection»
• Attacchi di tipo «SQL Injection»
• Accessi anomali (es. da luoghi anomali, con utenti anomali)
• Applicazioni potenzialmente dannose
• Identificazione password tramite forza bruta
• Estrazione dati non autorizzata
• Allarmi
• In tempo reale
• Raccomandazioni cosa investigare/come mitigare/rimediare
• Analisi correlata con «SQL Database Auditing»
#azuresatpn
Esempio «Threat Detection»
ExploreSet up Alert
#azuresatpn
«Azure SQL Database Advisor»
• Raccomandazioni indici
• Utili (solo «non-clustered»)
• Inutili (solo duplicati)
• Automatizzabile
• Modello ML dietro le quinte
• Annullamento automatico
• Parametrizzazione Query
• Annullamento automatico
• Problemi schema (Preview)
Image source: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-advisor-portal
Image source: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-advisor-portal
#azuresatpn
«Query Performance Insight»
• TOP Query per
• Consumo CPU/Disco
• Durata
• Numero esecuzioni
• Basato su Query Store
• Annotazioni
• Da «SQL Database Advisor»
Image source: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-query-performance
#azuresatpn
Intelligent Insights
• Monitoring Continuo
• Rilevazione eventi dirompenti
• Analisi «root cause»
• Disponibile come log
• Azure SQL Analytics solution
• Stream to Event Hub
• Archive to Storage
Root-cause: Hitting resource limits caused by new ad-hoc query 0X9001RTYU. Impacted query 0X9002FGJR
started timing out. Consider stopping the ad-hoc query or increasing your pricing tier.
Disruptive
event
Queries:
0X9003HA4J OK
0X9002FGJR Regressed query
0X901119GI OK
0X900044RJ OK
#azuresatpn
Azure SQL Analytics (Preview)
• Prestazioni Database, Elastic Pool, Managed Instance
• Aiuta nella raccolta, correlazione e visualizzazione dati di telemetria
• Su larga scala, cross-sottoscrizioni
• Attività Monitorate
• Utilizzo risorse
• Prestazioni Query
• Errori SQL
• Timeouts
• Blocking
• Intelligent insights
#azuresatpn
Azure SQL Database «Automatic Tuning»
• FORCE LAST GOOD PLAN (default ON)
• CREATE INDEX (default ON)
• DROP INDEX (default OFF)
#azuresatpn
Azure Database Migration Service
On-premises
SQL Server 2005 - 2017
Assessment
SSMA & DMA
Azure Database
Migration Service
My
#azuresatpn
Novità Azure DMS
• On-Premises to Managed Instance support
• Offline
• https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-managed-instance
• Online
• https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-managed-instance-online
• On-Premises to single or elastic pool with minimal downtime
• Online
• https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-azure-sql-online
• Amazon RDS to SQL Database support
• Online
• https://docs.microsoft.com/en-us/azure/dms/tutorial-rds-sql-server-azure-sql-and-managed-
instance-online
#azuresatpn
Q&A

More Related Content

What's hot

Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
Riccardo Zamana
 
Azure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integrationAzure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integration
Roberto Messora
 
Una web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft AzureUna web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft Azure
Davide Benvegnù
 
Monitoring Applications in AKS
Monitoring Applications in AKSMonitoring Applications in AKS
Monitoring Applications in AKS
Giuliano Latini
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWS
Gianluca Hotz
 
Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019
Andrea Tosato
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybase
Gianluca Hotz
 
Akka.net & Actor Model
Akka.net & Actor ModelAkka.net & Actor Model
Akka.net & Actor Model
Stefano Del Furia
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with Polybase
Gianluca Hotz
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
Daniele Mondello
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Gianluca Hotz
 
Data flow
Data flowData flow
Data flow
Marco Pozzan
 
Nat come esporre servizi https senza esporre l'applicazione
Nat come esporre servizi https senza esporre l'applicazioneNat come esporre servizi https senza esporre l'applicazione
Nat come esporre servizi https senza esporre l'applicazione
Giuliano Latini
 
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Amazon Web Services
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed Disks
Gianluca Hotz
 
AWS 101: Guida rapida alle soluzioni AWS
AWS 101: Guida rapida alle soluzioni AWSAWS 101: Guida rapida alle soluzioni AWS
AWS 101: Guida rapida alle soluzioni AWS
Amazon Web Services
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
Gianluca Hotz
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
Gianluca Hotz
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
Gianluca Hotz
 
SQL Server Workload Profiling
SQL Server Workload ProfilingSQL Server Workload Profiling
SQL Server Workload Profiling
Gianluca Hotz
 

What's hot (20)

Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
 
Azure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integrationAzure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integration
 
Una web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft AzureUna web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft Azure
 
Monitoring Applications in AKS
Monitoring Applications in AKSMonitoring Applications in AKS
Monitoring Applications in AKS
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWS
 
Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybase
 
Akka.net & Actor Model
Akka.net & Actor ModelAkka.net & Actor Model
Akka.net & Actor Model
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with Polybase
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
 
Data flow
Data flowData flow
Data flow
 
Nat come esporre servizi https senza esporre l'applicazione
Nat come esporre servizi https senza esporre l'applicazioneNat come esporre servizi https senza esporre l'applicazione
Nat come esporre servizi https senza esporre l'applicazione
 
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed Disks
 
AWS 101: Guida rapida alle soluzioni AWS
AWS 101: Guida rapida alle soluzioni AWSAWS 101: Guida rapida alle soluzioni AWS
AWS 101: Guida rapida alle soluzioni AWS
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 
SQL Server Workload Profiling
SQL Server Workload ProfilingSQL Server Workload Profiling
SQL Server Workload Profiling
 

Similar to Azure sql database

Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)
Gianluca Hotz
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloud
Gianluca Hotz
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Emanuele Zanchettin
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
Emanuele Zanchettin
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL Database
Gianluca Hotz
 
Azure for Game Developers
Azure for Game DevelopersAzure for Game Developers
Azure for Game Developers
Marco Parenzan
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
Emanuele Zanchettin
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
Marco Parenzan
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
Ugo Landini
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
Gianluca Hotz
 
Azure Saturday Pordenone 2018 IoT real time processing for lazy developer
Azure Saturday Pordenone 2018 IoT real time processing for lazy developerAzure Saturday Pordenone 2018 IoT real time processing for lazy developer
Azure Saturday Pordenone 2018 IoT real time processing for lazy developer
Alessio Biasiutti
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017
Gianluca Hotz
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDB
Davide Benvegnù
 
Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL Server
Gianluca Hotz
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft Fabric
Marco Pozzan
 
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureSQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
Marco Obinu
 
Azure Synapse: data lake & modern data warehouse dalla A alla Z
Azure Synapse: data lake &  modern data warehouse dalla A alla ZAzure Synapse: data lake &  modern data warehouse dalla A alla Z
Azure Synapse: data lake & modern data warehouse dalla A alla Z
Roberto Messora
 
Data grid
Data gridData grid
Data grid
Ugo Landini
 
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
azuredayit
 

Similar to Azure sql database (20)

Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloud
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL Database
 
Azure for Game Developers
Azure for Game DevelopersAzure for Game Developers
Azure for Game Developers
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 
Azure Saturday Pordenone 2018 IoT real time processing for lazy developer
Azure Saturday Pordenone 2018 IoT real time processing for lazy developerAzure Saturday Pordenone 2018 IoT real time processing for lazy developer
Azure Saturday Pordenone 2018 IoT real time processing for lazy developer
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDB
 
Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL Server
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft Fabric
 
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureSQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
 
Azure Synapse: data lake & modern data warehouse dalla A alla Z
Azure Synapse: data lake &  modern data warehouse dalla A alla ZAzure Synapse: data lake &  modern data warehouse dalla A alla Z
Azure Synapse: data lake & modern data warehouse dalla A alla Z
 
Data grid
Data gridData grid
Data grid
 
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
 

More from Gianluca Hotz

SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & Performance
Gianluca Hotz
 
SQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingSQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query Processing
Gianluca Hotz
 
Le novità di SQL Server 2022
Le novità di SQL Server 2022Le novità di SQL Server 2022
Le novità di SQL Server 2022
Gianluca Hotz
 
Data Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerData Integrity with SQL Database Ledger
Data Integrity with SQL Database Ledger
Gianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
Gianluca Hotz
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWS
Gianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
Gianluca Hotz
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
Gianluca Hotz
 
SQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaSQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: Sicurezza
Gianluca Hotz
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
Gianluca Hotz
 
SQL Server Modernization
SQL Server ModernizationSQL Server Modernization
SQL Server Modernization
Gianluca Hotz
 
Le novità di sql server 2019
Le novità di sql server 2019Le novità di sql server 2019
Le novità di sql server 2019
Gianluca Hotz
 
SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5
Gianluca Hotz
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
Gianluca Hotz
 
Mettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverMettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql server
Gianluca Hotz
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
Gianluca Hotz
 
SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2
Gianluca Hotz
 

More from Gianluca Hotz (17)

SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & Performance
 
SQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingSQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query Processing
 
Le novità di SQL Server 2022
Le novità di SQL Server 2022Le novità di SQL Server 2022
Le novità di SQL Server 2022
 
Data Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerData Integrity with SQL Database Ledger
Data Integrity with SQL Database Ledger
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWS
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
SQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaSQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: Sicurezza
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
SQL Server Modernization
SQL Server ModernizationSQL Server Modernization
SQL Server Modernization
 
Le novità di sql server 2019
Le novità di sql server 2019Le novità di sql server 2019
Le novità di sql server 2019
 
SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
Mettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverMettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql server
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
 
SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2
 

Azure sql database

  • 1. #azuresatpn Azure Saturday 2019 Azure SQL Database Gianluca Hotz – @glhotz
  • 2. Gianluca Hotz | @glhotz | ghotz@ugiss.org • Consulente indipendente e trainer • 20+ anni con SQL Server dalla 4.21 nel 1996… • Community • 20+ anni Microsoft MVP SQL Server dal 1998… • Fondatore e presidente UGISS • User Group Italiano SQL Server • Co-organizzatore DAMAG Meetup
  • 4. #azuresatpn «Platform as a Service (PaaS)» • Database fruibile come servizio • Pagamento a consumo • Completamente gestito • Hardware, sistema operativo e software • Alta disponibilità e «Disaster Recovery» incorporati • Scalabilità dinamica • «Cloud First» • Novità SQL Server introdotte prima in Azure SQL Database… • … ma c’è una sola codebase, quelle che ha senso arrivano anche On-Premise
  • 5. #azuresatpn Azure Operational Data Services SQL-based • Azure SQL Database • Traditional • Managed Instance • Azure Database for PostgreSQL • Azure Database for MySQL • Azure Database for MariaDB NoSQL-based • Azure Cosmos DB • Redis Cache My
  • 6. #azuresatpn Azure Modern Datawarehouse Ingestion • Azure Event Hubs • Azure Data Factory Storage • Azure Blob Storage • Azure Data Lake Storage Preparation • Azure Databricks • Azure Data Lake Analytics • Azure HDInsight Model/serve • Azure SQL Datawarehouse • Azure Analysis Services • Power BI
  • 7. SQL Server 2019 Big Data Clusters (Preview) Compute pool SQL Compute Node SQL Compute Node SQL Compute Node … Compute pool SQL Compute Node IoT data Directly read from HDFS Persistent storage … Storage pool SQL Server Spark HDFS Data Node SQL Server Spark HDFS Data Node SQL Server Spark HDFS Data Node Kubernetes pod Analytics Custom apps BI SQL Server master instance Node Node Node Node Node Node Node SQL Data mart SQL Data Node SQL Data Node Compute pool SQL Compute Node Storage Storage https://docs.microsoft.com/en-us/sql/big-data-cluster/big-data-cluster-overview
  • 8. #azuresatpn Azure SQL Database deployment options Elastic PoolSingle Azure SQL Database Modello a singolo database con prestazioni carico di lavoro prevedibili Modello molteplici database con risorse condivise, ottimizzato per maggiore efficienza applicazioni multi-tenant Best for applicazioni che richiedono risorse garantite a livello di database Best for Applicazioni in modalità SaaS con molteplici database che possono condividere risorse Best for modernizzazione su larga scala con minori sforzi e attriti Managed Instance Modello a istanza con elevata compatibilità con SQL Server IaaS mantenendo i vantaggi di un PaaS SQL ServiceTiers
  • 9. #azuresatpn Opzioni «Compute» e «Storage» flessibili DTU sono unità pre-confezionate che rappresentano potenza computazionale Pensate per carico di lavoro con prestazioni predicibili ma limitate in termini di flessibilità e opzioni Dimensionamento basato su DTU offre semplicità di scelta Storage Compute Storage Compute Modello vCore Scalabilità indipendente Modello DTU Semplice, preconfigurato Modello che permette di scegliere risorse «Compute» e «Storage» in modo indipendente Permette anche di usare «Azure Hybrid Benefit for SQL Server» per risparmiare Offre flessibilità, controllo e trasparenza
  • 10. #azuresatpn Database Transaction Unit (DTU) • Unità di misura rappresenta potenza relativa • CPU, memoria, letture e scritture • Espressa in numero di transazioni • Completate a pieno carico • Mix di transazioni OLTP • Benchmark documentato • Utile per confronti • Calcolatore per stime… https://docs.microsoft.com/en-us/azure/sql-database/sql-database-what-is-a-dtu
  • 11. #azuresatpn Benefici modello vCore • Più semplice mappare requisiti con quelli on-premise • Rimuove «guesswork» con DTU • Gen 4 CPU • Intel E5-2673 v3 (Haswell) 2.4 GHz • 1 vCore = 1 CPU fisica • Fino a 24 vCores, 7GB/core RAM • Storage SSD • Gen 5 CPU • Intel E5-2673 v4 (Broadwell) 2.3 GHz • 1 vCore = 1 CPU «hyper thread» • Fino a 80 vCores, 5,1GB/core* RAM • Storage eNVM SSD https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-vcore
  • 12. #azuresatpn «Scale up» e «Scale down» • Modifica Livello di servizio • «Service Tier/Performance Level» • Operazione «Online» • Copia o «attach/detach» • Database sempre disponibile, interruzione durante «switch» • Durata dipende dalla dimensione del database (da meno di 5min a 1min/GB) • Attenzione a caratteristiche usate • Es. dimensione inferiore a massimo spazio disponibile • Es. fatturazione spazio eccedente quello incluso nel tier
  • 13. #azuresatpn Risorse preallocate e scalabilità S0 S1 S2 S3
  • 14. #azuresatpn Risorse «Provisioned» e scalabilità S1 S2 S3S0
  • 15. #azuresatpn «Elastic Database Pools» • Pool di risorse condivise da più database • DTU-Based • vCore-Based • «Auto-Scale» database entro range definiti • Database aggiunti/rimossi a caldo
  • 17. #azuresatpn Inefficienza preallocazione CPU • Preallocazione • efficace con pattern prevedibili • Inefficienze • Sovrallocazione in periodi di utilizzo minore • Sottoallocazione per ridurre costi • Tempo speso a gestirla
  • 18. #azuresatpn «Serverless» (Preview) • Min/Max vCore • Da 0,5 a 16 • «Autopause Delay» • Costo zero • Temo di «warmup» • Fatturazione al secondo • Al momento solo • General Purpose vCore • Gen 5 Hardware https://docs.microsoft.com/en-us/azure/sql-database/sql-database-serverless
  • 19. #azuresatpn Scenari «Serverless» • Applicazioni «Line-of-Business» • Es. report spese, timbrature, sistemi di «procurement» • Applicazioni «E-Commerce» • Es. apertura nuovi mercati, campagne di marketing, promozioni di vendita • Applicazioni «CMS» • Es. aggiornamento e pubblicazione contenuti • Carichi di lavoro di test/sviluppo • Imprevedibili per definizione 
  • 20. #azuresatpn Serverless Provisioned Carico di lavoro Intermittente, imprevedibile, con uso medio basso della CPU nel tempo Utilizzo più regolare, con uso medio alto della CPU nel tempo Costo di gestione allocazione risorse Basso Alto Ridimensionamento risorse Automatico Manuale Tempi di risposta richiesti Bassi dopo periodi di inattività Immediati Fatturazione Al secondo Oraria Confronto preallocato con «Serverless»
  • 21. #azuresatpn Database in pausa • «Autopausing» • Numero di sessioni = 0, CPU = 0 per carico di lavoro del pool • Minimo 1 ora, massimo 7 giorni, incrementi da 1 ora • Può essere disabilitato • Latenza: generalmente da 1 a 10 minuti • «Autoresuming» • In generale a fronte di un login (ma anche altre operazioni) • Connessione riceve errore, logica di «retry» obbligatoria.. • Latenza: generalmente 1 minuto
  • 22. #azuresatpn Limiti «Autopausing» • «Geo-replication» e «Auto-Failover group» attivi • «Long-term backup retention» • «Sync Database» usato da SQL Data Sync (hub e member supportati) • «Job database» usato da «Elastic jobs»
  • 23. #azuresatpn Dettagli che impattano sulle prestazioni… • Reattività ridimensionamento • Raramente risorse non disponibili, necessario «load balacing» (fino a qualche minuto con chiusura connessioni) • Gestione della memoria • Cache reclamata più frequentemente, può impattare • Mai sotto dimensione specifica per numero minimo vCores
  • 24. #azuresatpn Prezzi per sviluppo/test • Diverse opzioni • Individuale (Visual Studio Subscriber) • Team (Enterprise Dev/Test per clienti EA) • Team (Pay-As-You-Go Dev/Test per tutti gli altri clienti) • Azure SQL Database sconti fino al 55% • Disponibile anche «Reservation» (1 o 3 anni) • Sconti anche su altro (es. VM Windows a prezzi VM Linux) • Calcolatore • https://azure.microsoft.com/en- us/pricing/calculator/?devtest=true&service=sql-database
  • 25. #azuresatpn Azure Hybrid Benefit (AHB) • Risparmio • VM Windows Server • Azure SQL Database vCore-Based • SQL Server in Azure VMs • SQL Server Intergration Service • Calcolatore • https://azure.microsoft.com/en- us/pricing/hybrid-benefit
  • 27. #azuresatpn «Lift & Shift» • Non sempre possibile in maniera semplice • Problemi principali • Non tutte funzionalità «On-Premise» disponibili in Azure SQL Database • Es. CDC, CLR, FILESTREAM, PBM, Service Broker, … • https://docs.microsoft.com/en-us/azure/sql-database/sql-database-features • Non tutti i servizi disponibili in PaaS • Es. Integration Services (SSIS), Reporting Services (SSRS), Master Data Services (MDS), Data Quality Services (DQS)
  • 28. #azuresatpn Azure SQL Database Managed Instance • Nuova opzione di Deployment di SQL Database • Rappresenta ed espone l’intera istanza di SQL Server • Molto differente «Azure SQL Database Logical Server» • 100% copertura funzionalità «On-Premise» (quasi..) • Mantiene tutti i vantaggi di un PaaS • Completamente gestita • «Scale up/down» semplice e rapido • HA/DR già inclusi
  • 29. #azuresatpn M.I. quasi 100% SQL Server «On-Premise» Data migration • Native backup/restore • Configurable DB file Layout • DMS (migrations at scale) Programmability • Global temp tables • Cross-database queries and transactions • Linked servers • CLR modules Security • Integrated Auth (AAD) • Encryption (TDE, AE) • Sysadmin Privileges • SQL Audit • Row Level Security • Dynamic Data Masking Operational • DMVs & XEvents • Query Store • SQL Agent • DB Mail (external SMTP) • Resource Governor
  • 30. #azuresatpn Ultimi rilasci «Managed Instance» • Configurazione «Collation» a livello di istanza • Configurazione «Time Zone» a livello di istanza (GA) • «Public IP Endpoint» • «Auto Failover Groups» • Tagli più piccoli (4 vCore con Gen5) • Global Trace Flags • Supporto per rename database (ALTER DATABASE e sp_rename)
  • 31. #azuresatpn «Managed Instance» in «Preview» • «Instance Pools» • «TDE with BYOK» • «Transparent Data Encryption with Bring Your Own Key» • «Azure AD» login a livello di istanza • Supporto replica transazionale • Supporto per ricreare database eliminati • Supporto a «Threat detection»
  • 32. #azuresatpn Azure SQL Database Hyperscale (Preview) • Nuovo «Service Tier» per il modello vCore-based • Supporta 100TB (di più… 100 sono quelli testati) • Prestazioni elevate dovute a maggiore velocità scrittura transazioni • «File Snapshots» • Backup più veloci, hanno zero impatto sulle prestazioni • Restore estremamente veloci, con tempo costante (Ignite 2018: 50TB in 7 min.) • «Scale out» rapido • Creazione di replica in sola lettura per redistribuzione carico di lavoro • «Scale up/down» rapido • Tempo costante, minuti, sia «storage» che «compute»
  • 33. #azuresatpn Azure SQL Database Hyperscale Componenti • Compute Node (Query Engine) • «Stateless», solo cache locale su SSD • Page Server • Local SSD cache • Log Service • Local SSD cache • Remote Data Storage
  • 34. #azuresatpn Qualche numero… • Scrittura Log nella «Landing Zone» • < 2,5ms con Premium Storage • < 0,5ms in futuro con Ultra SSD • Letture • < 0,5ms RBPEX locale • < 2ms RBPEX page server
  • 35. #azuresatpn Disponibilità «Standard» • 99.99% SLA • Si applica a livelli di servizio Basic, Standard, General Purpose • Modello basato su disaccoppiamento «compute» e «storage» • Nodi «Compute» gestiti da Azure Service Fabric • Ci sono sempre dei nodi «Compute» di scorta disponibili • Disponibilità/ridondanza «built-in» in Azure Storage • Potenziale degrado prestazioni • Tempo di transizione • Cache fredda
  • 36. #azuresatpn Disponibilità «Premium» • 99.99% SLA • Si applica a livelli di servizio Premium, Business Critical • Modello basato su «Clustering» • «Compute» e «Storage» su stesso nodo • repliche basate su AlwaysOn Availability Groups • «Read Scale-Out» • Configurazione «Zone Redundant»
  • 37. #azuresatpn Backup automatici • Frequenza • «Full» settimanale • «Differenziale» generalmente ogni giorno • «Log» generalmente ogni 5 minuti • «Backup set» • Ridondati localmente (LRS) • Ridondati geograficamente RA-GRS (regione geo-politica affine) • «Retention» • 7 giorni di default, fino a 35 giorni • «Long-Term Backup Retention» (10 anni , RA-GRS, no M.I.)
  • 38. #azuresatpn Restore • Restore «Point-in-time» • A un qualunque punto nel tempo di «Retention» • Restore nuovo database • Geo-Restore • Basic DR • Almeno un FULL backup e un differenziale
  • 39. #azuresatpn «Active Geo-Replication» • Fino a 4 copie secondarie asincrone • Accessibili in sola lettura • Supportati scenari di aggiornamento e trasferimento • «Failover» manuale • «Estimated Recovery Time»: <30 secondi • «Recovery Point Objective»: <5 secondi • Disponibile per tutti i «Service Tier» tranne «Managed Instance» • «Auto-Failover Groups» (GA) per «Managed Instance»
  • 40. #azuresatpn «Read Scale-Out» GA • Livello di servizio Premium, Business Critical e Hyperscale • Usano AlwaysOn Availability Groups per alta disponibilità • Ci sono già repliche secondarie disponibili • «Read Scale-Out» permette di accedere in sola lettura • No costi aggiuntivi • Connessioni pilotate da «ApplicationIntent» (parametro di connessione) • Consistenza a livello di sessione
  • 41. #azuresatpn «Data Discovery & Classification» (Preview) • Rilevamento automatico di colonne con dati sensibili • Etichette permanenti aggiunte a dati sensibili • Audit accesso a dati sensibili in base a classificazione • Gestione etichette a livello di «Azure Tenant» usando «Azure Security Center»
  • 42. #azuresatpn «Vulnerability Assessment» • Semplifica gestione «compliancy» • Circa 50 controlli • «On-premise» e «Cloud» • Salvataggio report • Baseline • Focus su problemi veri • Esecuzione periodica • Mantenimento «compliancy» SQL Server on-premises Azure SQL Database, Azure SQL Data Warehouse
  • 43. #azuresatpn «SQL Database Threat Detection» • Rileva potenziali minacce/vulnerabilità • Vulnerabilità a «SQL Injection» • Attacchi di tipo «SQL Injection» • Accessi anomali (es. da luoghi anomali, con utenti anomali) • Applicazioni potenzialmente dannose • Identificazione password tramite forza bruta • Estrazione dati non autorizzata • Allarmi • In tempo reale • Raccomandazioni cosa investigare/come mitigare/rimediare • Analisi correlata con «SQL Database Auditing»
  • 45. #azuresatpn «Azure SQL Database Advisor» • Raccomandazioni indici • Utili (solo «non-clustered») • Inutili (solo duplicati) • Automatizzabile • Modello ML dietro le quinte • Annullamento automatico • Parametrizzazione Query • Annullamento automatico • Problemi schema (Preview) Image source: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-advisor-portal Image source: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-advisor-portal
  • 46. #azuresatpn «Query Performance Insight» • TOP Query per • Consumo CPU/Disco • Durata • Numero esecuzioni • Basato su Query Store • Annotazioni • Da «SQL Database Advisor» Image source: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-query-performance
  • 47. #azuresatpn Intelligent Insights • Monitoring Continuo • Rilevazione eventi dirompenti • Analisi «root cause» • Disponibile come log • Azure SQL Analytics solution • Stream to Event Hub • Archive to Storage Root-cause: Hitting resource limits caused by new ad-hoc query 0X9001RTYU. Impacted query 0X9002FGJR started timing out. Consider stopping the ad-hoc query or increasing your pricing tier. Disruptive event Queries: 0X9003HA4J OK 0X9002FGJR Regressed query 0X901119GI OK 0X900044RJ OK
  • 48. #azuresatpn Azure SQL Analytics (Preview) • Prestazioni Database, Elastic Pool, Managed Instance • Aiuta nella raccolta, correlazione e visualizzazione dati di telemetria • Su larga scala, cross-sottoscrizioni • Attività Monitorate • Utilizzo risorse • Prestazioni Query • Errori SQL • Timeouts • Blocking • Intelligent insights
  • 49. #azuresatpn Azure SQL Database «Automatic Tuning» • FORCE LAST GOOD PLAN (default ON) • CREATE INDEX (default ON) • DROP INDEX (default OFF)
  • 50. #azuresatpn Azure Database Migration Service On-premises SQL Server 2005 - 2017 Assessment SSMA & DMA Azure Database Migration Service My
  • 51. #azuresatpn Novità Azure DMS • On-Premises to Managed Instance support • Offline • https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-managed-instance • Online • https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-managed-instance-online • On-Premises to single or elastic pool with minimal downtime • Online • https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-azure-sql-online • Amazon RDS to SQL Database support • Online • https://docs.microsoft.com/en-us/azure/dms/tutorial-rds-sql-server-azure-sql-and-managed- instance-online

Editor's Notes

  1. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-paas-vs-sql-server-iaas
  2. 7
  3. 8
  4. Overview: Azure SQL Database enables you to easily purchase fully managed PaaS database engine that fits your performance and cost needs. Depending on the deployment model of Azure SQL Database, you can select the purchasing model that fits your needs: Talking Points: Azure SQL Database give you flexible purchasing models to have simple preconfigured compute & storage or independent control over compute & storage. vCore model. This model allows you to independently choose compute and storage resources. It also allows you to use Azure Hybrid Benefit for SQL Server to gain cost savings. Best for customers who value flexibility; control and transparency Customers can select compute and storage independently Allows customers to right-size their compute requirements in the cloud vCore sizing offers flexibility of choice Database Transaction Unit (DTU) model. Bundled measure of compute, storage and IO resources. Best for customers who want simple, pre-configured resource options Reference https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers
  5. https://azure.microsoft.com/en-us/documentation/articles/sql-database-service-tiers https://azure.microsoft.com/en-us/documentation/articles/sql-database-benchmark-overview http://dtucalculator.azurewebsites.net (old)
  6. * 24GB per Serverless,
  7. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-single-database-scale https://docs.microsoft.com/en-us/azure/sql-database/sql-database-faq
  8. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-dtu#elastic-pool-edtu-storage-and-pooled-database-limits https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools#elastic-pool-storage-sizes-and-compute-sizes
  9. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-dtu#elastic-pool-edtu-storage-and-pooled-database-limits https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools#elastic-pool-storage-sizes-and-compute-sizes
  10. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-serverless#autopausing-and-autoresuming
  11. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-serverless#autopausing-and-autoresuming
  12. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-serverless
  13. https://azure.microsoft.com/en-us/pricing/hybrid-benefit https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-vcore#azure-hybrid-use-benefit https://docs.microsoft.com/en-us/azure/virtual-machines/windows/hybrid-use-benefit-licensing
  14. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-features
  15. https://azure.microsoft.com/en-in/updates/server-level-collations-in-managed-instance-are-globally-available/ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance-timezone https://techcommunity.microsoft.com/t5/Azure-SQL-Database/Public-endpoint-for-SQL-Database-Managed-Instance-is-available/ba-p/438996 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-auto-failover-group https://azure.microsoft.com/en-us/updates/global-trace-flags-are-now-available-in-azure-sql-database-managed-instance
  16. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-instance-pools https://aka.ms/managed-instance-tde-byok https://aka.ms/managed-instance-aadlogins https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance-transactional-replication https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance-threat-detection https://medium.com/azure-sqldb-managed-instance/re-create-dropped-databases-in-azure-sql-managed-instance-dc369ed60266
  17. https://azure.microsoft.com/en-us/blog/announcing-azure-sql-database-hyperscale-public-preview/ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-hyperscale
  18. https://azure.microsoft.com/en-us/blog/announcing-azure-sql-database-hyperscale-public-preview/ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-hyperscale
  19. https://azure.microsoft.com/en-us/blog/announcing-azure-sql-database-hyperscale-public-preview/ https://docs.microsoft.com/en-us/azure/sql-database/sql-database-hyperscale
  20. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-automated-backups
  21. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-geo-replication-overview https://azure.microsoft.com/en-us/blog/azure-sql-database-now-supports-powerful-geo-replication-features-on-all-service-tiers https://azure.microsoft.com/en-in/updates/active-geo-replication-now-available-on-all-azure-sql-database-service-tiers
  22. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-read-scale-out
  23. https://azure.microsoft.com/en-us/blog/introducing-sql-vulnerability-assessment-for-azure-sql-database-and-on-premises-sql-server/ https://docs.microsoft.com/en-us/azure/sql-database/sql-vulnerability-assessment
  24. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-threat-detection https://myignite.microsoft.com/videos/2998
  25. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-threat-detection https://myignite.microsoft.com/videos/2998
  26. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-advisor
  27. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-query-performance
  28. 10/15/2019 6:56 AM
  29. https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-azure-sql
  30. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-automatic-tuning
  31. https://docs.microsoft.com/en-us/azure/dms/dms-overview