SlideShare a Scribd company logo
1 of 39
Implementare e mantenere un progetto 
Azure SQL Database 
Emanuele Zanchettin - thinkIT
Agenda 
• Introduzione generale sull’infrastruttura 
• La scelta responsabile 
• Scenari di progetto 
• Prima pubblicazione 
• Pubblicazione delle revisioni 
• Strategie di backup e restore 
• Service Level Agreement (SLA)
Alcune caratteristiche di SQL Database 
le basi non sono cambiate … +/-
SQLDatabase inside – Alta affidabilità 
DatDabataasbea lsoegico 
3° 1° db fisico 
2° db fisico 
3° db fisico 
Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
SQLDatabase inside – Alta affidabilità 
Database 
Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
SQLDatabase inside – Alta affidabilità 
1° db fisico 
Database logico 
2° db fisico 
3° db fisico 
Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
SQLDatabase inside – Alta affidabilità 
1° db fisico 
2° db fisico 
3° db fisico 
Database logico 
Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
SQLDatabase inside – Alta affidabilità 
3° db fisico 
1° db fisico 
2° db fisico 
Database logico 
Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
Partizionamento dei dati - Scalabilità 
Scale-out 
partizionamento Orizzontale 
Partizionamento 
Verticale 
Scale-up 
Database 
Id val 
Id val 
Id val 
db più grande più dbs Federation / Elastic scale (es. app multi-tenant)
Partizionamento dei dati - Scalabilità 
Scale-out 
partizionamento Orizzontale 
Partizionamento 
Verticale 
Scale-up 
Database 
db più grande più dbs Federation / Elastic scale (es. app multi-tenant)
Partizionamento dei dati - Scalabilità 
Scale-out 
partizionamento Orizzontale 
Partizionamento 
Verticale 
Scale-up 
Id val 
Id val 
Id val 
Database 
db più grande più dbs Federation / Elastic scale (es. app multi-tenant)
Partizionamento dei dati - Scalabilità 
Scale-out 
partizionamento Orizzontale 
Partizionamento 
Verticale 
Scale-up 
Database 
db più grande più dbs Federation / Elastic scale (es. app multi-tenant)
Considerazioni 
Scale-up 
– Tutto ok  
Partizionamento Verticale 
– Chiavi esterne tra databases diversi non ammesse 
– Non è possibile avere transazioni tra databases 
Nemmeno usando Microsoft Distributed Transaction Coordinator (MDTC lato 
client)  
Scale-out o partizionamento Orizzontale 
– Nativo in Azure  
– Modellazione schema 
– Sviluppo e troubleshooting leggermente oneroso  
– Elastic Scale (preview)  … ciao ciao Federation …
Altre considerazioni 
• L’evoluzione del Servizio 
t 
f(x) 
start 
ieri 
oggi 
domani?
Non ci credi? 
RIP 
Sep. ‘15 
Proviamo a calcolare il prezzo
La scelta consapevole 
Service Tier / 
Performance 
Level 
DTU MAX DB Size 
Max Worker 
Threads 
Max Sessions 
Benchmark 
Transaction 
Rate 
Predictability 
Basic 5 2 GB 30 300 16.600/h 
(4,6/s) 
Good 
Standard/S0 10 250 GB 60 600 521/min 
(8,5/s) 
Better 
Standard/S1 20 250 GB 90 900 934/min 
(15,6/s) 
Better 
Standard/S2 50 250 GB 120 1.200 2.570/min 
(42,8/s) 
Better 
Premium/P1 100 500 GB 200 2.400 105/s Best 
Premium/P2 200 500 GB 400 4.800 228/s Best 
Premium/P3 800 500 GB 1.600 19.200 735/s Best
Evoluzione da Federation a Elastic Scale 
(cenni) 
• The Azure SQL Database Federations feature is being retired along with 
the Web/Business editions in September 2015 (Cit.)
Shard Map 
• Due tipi di Shard Map 
– Range: intervalli elementi contigui 
– List: lista di valori 
• Quattro tipi di chiavi 
– INT 
– BIGINT 
– GUID 
– VARBINARY
Split/Merge scenario 
Key Shard Location 
1 Database_A 
3 Database_B 
4 Database_C 
6 Database_B 
... ... 
Key Range Shard Location 
[1, 50) Database_A 
[50, 100) Database_B 
[100, 200) Database_C 
[400, 600) Database_C 
... ... 
• Alcuni comandi 
– CreateShard  
– DeleteShard 
– CreateRangeMapping 
– CreatePointMapping 
– DeleteMapping 
– UpdateMapping 
– MarkMappingOffline 
– MarkMappingOnline
Si parte … 
Qual’è il tuo caso?
Migrazione progetto esistente 
Azure SQL Database 
tutto su cloud on premise + cloud (Ibrido)
Nuovo progetto 
Azure SQL Database 
tutto su cloud
Prima pubblicazione 
Sono pronto per farlo?
Strumenti per la migrazione 
• Schema e dati 
SQL Server Migration Assistant (SSMA) 
– da Oracle, Sybase, MySQL e Access 
SQL Server Management Studio (SSMS) 
– da SQL Server 2012 usando .bacpac package 
SQL Database Migration Wizard (CodePlex) 
– SQL Server 2008 R2 SP1 (v3x), SQL Server 2012 (v4x) 
• Solo dati 
– bcp, SSMS, SQL Data Sync, SSIS 
• Solo schema 
SQL Server Data Tools 
– da Microsoft Visual Studio 2012 
– da SQL Server 2012 usando .dacpac package
Caso reale di migrazione 
• Strumento utilizzato: Migrate Data di SQL Server Migration 
Assistant for MySQL 
• Quantità: 6 tabelle, 9KK righe, 520MB dimensione totale 
• Tempi: 26’ 30’’ upload parallelo, fibra 10Mbit/s
demo
CONSIDERAZIONI 
• Limitazioni sulle funzionalità 
SQL Server Utility, SQL Server PowerShell Provider, Master Data Services, Change Data Capture, Data 
Auditing, Data Compression, Extended Events, Extension of spatial types and methods through 
Common Language Runtime (CLR), External Key Management / Extensible Key Management, 
FILESTREAM Data, Integrated Full-Text Search, Large User-Defined Aggregates (UDAs), Large 
User-Defined Types (UDTs), Performance Data Collection (Data Collector), Policy-Based Management, 
Resource Governor, SQL Server Replication Transparent Data Encryption, Common Language 
Runtime (CLR) and CLR User-Defined Types, Database Mirroring, Service Broker, Table Partitioning, 
Typed XML and XML indexing (XML data type), Backup and Restore, Replication, Extended Stored 
Procedures, SQL Server Agent/Jobs 
• Limitazioni su T-SQL 
Common Language Runtime (CLR), Database file placement, Database mirroring, Distributed 
queries, Distributed transactions, Filegroup management, Global temporary tables, SQL Server 
configuration options, SQL Server Service Broker, System tables, Trace Flags 
• Documentazione disponibile online 
• Pianifica prima di iniziare 
Pubblicazione delle revisioni 
E ora?
GESTIRE SCHEMA E DATI 
• Gestire ambienti di test e produzione 
• Pianificare uno scenario di undo 
• Cambiare lo schema e dati 
SQL Server Management Studio (SSMS) 
– da SQL Server 2012 usando .bacpac package 
SQL Database Migration Wizard (CodePlex) 
– SQL Server 2008 R2 SP1 (v3x), SQL Server 2012 (v4x) 
• Cambiare solo dati 
– bcp, SSMS, SQL Data Sync, SSIS 
• Cambiare solo lo schema 
– Microsoft Visual Studio 2012
Caso reale di upload federazione 
• Strumento utilizzato: 
Esporta dati di SQL Server 
Management Studio 
• Quantità: 
3 tabelle, 8,6KK righe, 
490MB dimensione totale 
• Tempi: 
10’ 15’’ download/upload 
parallelo, fibra 10Mbit/s
demo
Considerazioni 
• DBA, Data Architect e sviluppatori, non litigate tra voi  
• “Scalare” prima di raggiungere il limite 
• Scegliere una pubblicazione passo-passo 
• Pianificare prima di iniziare 
Strategie di backup e restore 
Non dimenticartelo!
Chi fa cosa? 
• SQL Azure periodico mantenuto almeno 7 giorni 
“as a safe guard against catastrophic software and system failures” !!!! 
Backup Full settimanale, Differenziale giornaliero, Transaction Log ogni 5’ 
Storico 7gg (B), 14gg (S), 35gg (P) 
Point in Time Restore, Restoring a Deleted Database, Geo-Restore 
• Errori Utente (Business Continuity) 
Usare SQL Data Sync (backup offline/remoto) 
Copia di Database (CREATE DATABASE [destination] AS COPY OF [source]) 
Import/Export Service (Azure BLOB storage necessario, auto in preview) 
Gruppo/Agente di sincronizzazione Azure (SQLDataSyncAgent solo x86 ) 
• Pianificare prima di iniziare 
Service Level Agreement (SLA) 
Garanzie sul servizio fornito?
SLA 
• 99,90% (W, BU) e 99,99% (B, S, P) 
– Mensile, calcolo al minuto su inattività >= 1 minuto 
• Limiti di sottoscrizione 
• Carta di credito senza soldi 
• Sforamenti di quota 
• DTU (Database Throughput Units ) 
• Upgrade / Downgrade del Service tier 
– SLO (Service Level Objective) e “la formula del male” 
3 x (5 minutes + database size / 150 MB/minute) 
Es. 3 x (5 minutes + 50 GB x 1024 MB/GB / 150 MB/minute) ≈17 hours 
SLO < SLA  SLO == SLA  SLO > SLA  (MNU)
Links 
• Migration from federation to elastic scale 
azure.microsoft.com/en-us/documentation/articles/sql-database-elastic- 
scale-federation-migration/ 
• Azure SQL Database Elastic Scale Ch9 
channel9.msdn.com/Shows/Data-Exposed/Azure-SQL-Database-Elastic- 
Scale 
• SQL Database Service Level Agreement (SLA) 
www.windowsazure.com/it-it/support/legal/sla/ 
• SQL Database pricing 
www.windowsazure.com/it-it/pricing/details/sql-database/
Links 
• SQL Server Migration Assistant (SSMA) 
blogs.msdn.com/b/ssma/ 
• Guidelines and Limitations (Windows Azure SQL 
Database) 
msdn.microsoft.com/en-us/library/windowsazure/ff394102.aspx 
• Known SQL Data Sync (Preview) Limits 
msdn.microsoft.com/en-us/library/jj590380.aspx 
• Azure SQL Database Backup and Restore 
msdn.microsoft.com/en-us/library/azure/jj650016.aspx
feedback 
10 
o Feedback su: 
• http://xedotnet.org/feedback 
Grazie! 
Emanuele Zanchettin – thinkIT 
Email: ezanchettin@thinkit.it 
Site: http://www.thinkit.it/ 
Twitter: @_thinkIT_ 
LinkedIn: http://it.linkedin.com/pub/emanuele-zanchettin/18/921/34

More Related Content

What's hot

Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
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 DisksGianluca Hotz
 
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Gianluca Hotz
 
SQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaSQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaGianluca Hotz
 
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 AWSGianluca Hotz
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseGianluca Hotz
 
Mettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverMettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverGianluca Hotz
 
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 AuroraGianluca Hotz
 
Smau Milano 2011 Emilio Perotti
Smau Milano 2011 Emilio PerottiSmau Milano 2011 Emilio Perotti
Smau Milano 2011 Emilio PerottiSMAU
 
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 integrationRoberto Messora
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseGianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL ServerSql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL ServerAlessandro Alpi
 
Foss4g it-2011 (italian)
Foss4g it-2011 (italian)Foss4g it-2011 (italian)
Foss4g it-2011 (italian)GeoSolutions
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
WPC2012 Windows Azure - Architetture e costi nell'era del cloud
WPC2012 Windows Azure - Architetture e costi nell'era del cloudWPC2012 Windows Azure - Architetture e costi nell'era del cloud
WPC2012 Windows Azure - Architetture e costi nell'era del cloudVito Flavio Lorusso
 
Introduzione a GeoServer ed ai servizi OGC
Introduzione a GeoServer ed ai servizi OGCIntroduzione a GeoServer ed ai servizi OGC
Introduzione a GeoServer ed ai servizi OGCGeoSolutions
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLEDB
 

What's hot (20)

Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
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
 
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
 
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 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
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybase
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 
Mettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverMettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql server
 
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
 
Smau Milano 2011 Emilio Perotti
Smau Milano 2011 Emilio PerottiSmau Milano 2011 Emilio Perotti
Smau Milano 2011 Emilio Perotti
 
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
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with Polybase
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
Data grid
Data gridData grid
Data grid
 
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL ServerSql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
 
Foss4g it-2011 (italian)
Foss4g it-2011 (italian)Foss4g it-2011 (italian)
Foss4g it-2011 (italian)
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
WPC2012 Windows Azure - Architetture e costi nell'era del cloud
WPC2012 Windows Azure - Architetture e costi nell'era del cloudWPC2012 Windows Azure - Architetture e costi nell'era del cloud
WPC2012 Windows Azure - Architetture e costi nell'era del cloud
 
Introduzione a GeoServer ed ai servizi OGC
Introduzione a GeoServer ed ai servizi OGCIntroduzione a GeoServer ed ai servizi OGC
Introduzione a GeoServer ed ai servizi OGC
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
 

Similar to 2014.11.14 Implementare e mantenere un progetto Azure SQL Database

SQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload AnalysisSQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload AnalysisGianluca Sartori
 
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 AzureMarco Obinu
 
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 SolutionsMarco Parenzan
 
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgroundsAlessandro Alpi
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Fabio Armani
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017Gianluca Hotz
 
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 DatabaseGianluca Hotz
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossaGian Maria Ricci
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
 
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-servicePower BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-serviceMarco Pozzan
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca 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 cloudGianluca Hotz
 
Azure Mobile Services con il .NET Framework
Azure Mobile Services con il .NET FrameworkAzure Mobile Services con il .NET Framework
Azure Mobile Services con il .NET FrameworkNicolò Carandini
 
Doaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Doaw2020 - Dalla produzione alla QA, provisioning su SQL ServerDoaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Doaw2020 - Dalla produzione alla QA, provisioning su SQL ServerAlessandro Alpi
 
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
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft FabricMarco Pozzan
 
Servizi DBA da remoto
Servizi DBA da remotoServizi DBA da remoto
Servizi DBA da remotoAt Work
 

Similar to 2014.11.14 Implementare e mantenere un progetto Azure SQL Database (20)

Azure sql database
Azure sql databaseAzure sql database
Azure sql database
 
SQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload AnalysisSQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload Analysis
 
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 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
 
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017
 
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
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossa
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
 
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-servicePower BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
OrientDB & Big Data
OrientDB & Big DataOrientDB & Big Data
OrientDB & Big Data
 
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
 
Data flow
Data flowData flow
Data flow
 
Azure Mobile Services con il .NET Framework
Azure Mobile Services con il .NET FrameworkAzure Mobile Services con il .NET Framework
Azure Mobile Services con il .NET Framework
 
Doaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Doaw2020 - Dalla produzione alla QA, provisioning su SQL ServerDoaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Doaw2020 - Dalla produzione alla QA, provisioning su SQL Server
 
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)
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft Fabric
 
Servizi DBA da remoto
Servizi DBA da remotoServizi DBA da remoto
Servizi DBA da remoto
 

Recently uploaded

Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
 

Recently uploaded (9)

Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
 

2014.11.14 Implementare e mantenere un progetto Azure SQL Database

  • 1. Implementare e mantenere un progetto Azure SQL Database Emanuele Zanchettin - thinkIT
  • 2. Agenda • Introduzione generale sull’infrastruttura • La scelta responsabile • Scenari di progetto • Prima pubblicazione • Pubblicazione delle revisioni • Strategie di backup e restore • Service Level Agreement (SLA)
  • 3. Alcune caratteristiche di SQL Database le basi non sono cambiate … +/-
  • 4. SQLDatabase inside – Alta affidabilità DatDabataasbea lsoegico 3° 1° db fisico 2° db fisico 3° db fisico Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
  • 5. SQLDatabase inside – Alta affidabilità Database Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
  • 6. SQLDatabase inside – Alta affidabilità 1° db fisico Database logico 2° db fisico 3° db fisico Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
  • 7. SQLDatabase inside – Alta affidabilità 1° db fisico 2° db fisico 3° db fisico Database logico Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
  • 8. SQLDatabase inside – Alta affidabilità 3° db fisico 1° db fisico 2° db fisico Database logico Copie multiple ridondate automatiche e failover automatico, disponibilità ottimizzata
  • 9. Partizionamento dei dati - Scalabilità Scale-out partizionamento Orizzontale Partizionamento Verticale Scale-up Database Id val Id val Id val db più grande più dbs Federation / Elastic scale (es. app multi-tenant)
  • 10. Partizionamento dei dati - Scalabilità Scale-out partizionamento Orizzontale Partizionamento Verticale Scale-up Database db più grande più dbs Federation / Elastic scale (es. app multi-tenant)
  • 11. Partizionamento dei dati - Scalabilità Scale-out partizionamento Orizzontale Partizionamento Verticale Scale-up Id val Id val Id val Database db più grande più dbs Federation / Elastic scale (es. app multi-tenant)
  • 12. Partizionamento dei dati - Scalabilità Scale-out partizionamento Orizzontale Partizionamento Verticale Scale-up Database db più grande più dbs Federation / Elastic scale (es. app multi-tenant)
  • 13. Considerazioni Scale-up – Tutto ok  Partizionamento Verticale – Chiavi esterne tra databases diversi non ammesse – Non è possibile avere transazioni tra databases Nemmeno usando Microsoft Distributed Transaction Coordinator (MDTC lato client)  Scale-out o partizionamento Orizzontale – Nativo in Azure  – Modellazione schema – Sviluppo e troubleshooting leggermente oneroso  – Elastic Scale (preview)  … ciao ciao Federation …
  • 14. Altre considerazioni • L’evoluzione del Servizio t f(x) start ieri oggi domani?
  • 15. Non ci credi? RIP Sep. ‘15 Proviamo a calcolare il prezzo
  • 16. La scelta consapevole Service Tier / Performance Level DTU MAX DB Size Max Worker Threads Max Sessions Benchmark Transaction Rate Predictability Basic 5 2 GB 30 300 16.600/h (4,6/s) Good Standard/S0 10 250 GB 60 600 521/min (8,5/s) Better Standard/S1 20 250 GB 90 900 934/min (15,6/s) Better Standard/S2 50 250 GB 120 1.200 2.570/min (42,8/s) Better Premium/P1 100 500 GB 200 2.400 105/s Best Premium/P2 200 500 GB 400 4.800 228/s Best Premium/P3 800 500 GB 1.600 19.200 735/s Best
  • 17. Evoluzione da Federation a Elastic Scale (cenni) • The Azure SQL Database Federations feature is being retired along with the Web/Business editions in September 2015 (Cit.)
  • 18. Shard Map • Due tipi di Shard Map – Range: intervalli elementi contigui – List: lista di valori • Quattro tipi di chiavi – INT – BIGINT – GUID – VARBINARY
  • 19. Split/Merge scenario Key Shard Location 1 Database_A 3 Database_B 4 Database_C 6 Database_B ... ... Key Range Shard Location [1, 50) Database_A [50, 100) Database_B [100, 200) Database_C [400, 600) Database_C ... ... • Alcuni comandi – CreateShard  – DeleteShard – CreateRangeMapping – CreatePointMapping – DeleteMapping – UpdateMapping – MarkMappingOffline – MarkMappingOnline
  • 20. Si parte … Qual’è il tuo caso?
  • 21. Migrazione progetto esistente Azure SQL Database tutto su cloud on premise + cloud (Ibrido)
  • 22. Nuovo progetto Azure SQL Database tutto su cloud
  • 23. Prima pubblicazione Sono pronto per farlo?
  • 24. Strumenti per la migrazione • Schema e dati SQL Server Migration Assistant (SSMA) – da Oracle, Sybase, MySQL e Access SQL Server Management Studio (SSMS) – da SQL Server 2012 usando .bacpac package SQL Database Migration Wizard (CodePlex) – SQL Server 2008 R2 SP1 (v3x), SQL Server 2012 (v4x) • Solo dati – bcp, SSMS, SQL Data Sync, SSIS • Solo schema SQL Server Data Tools – da Microsoft Visual Studio 2012 – da SQL Server 2012 usando .dacpac package
  • 25. Caso reale di migrazione • Strumento utilizzato: Migrate Data di SQL Server Migration Assistant for MySQL • Quantità: 6 tabelle, 9KK righe, 520MB dimensione totale • Tempi: 26’ 30’’ upload parallelo, fibra 10Mbit/s
  • 26. demo
  • 27. CONSIDERAZIONI • Limitazioni sulle funzionalità SQL Server Utility, SQL Server PowerShell Provider, Master Data Services, Change Data Capture, Data Auditing, Data Compression, Extended Events, Extension of spatial types and methods through Common Language Runtime (CLR), External Key Management / Extensible Key Management, FILESTREAM Data, Integrated Full-Text Search, Large User-Defined Aggregates (UDAs), Large User-Defined Types (UDTs), Performance Data Collection (Data Collector), Policy-Based Management, Resource Governor, SQL Server Replication Transparent Data Encryption, Common Language Runtime (CLR) and CLR User-Defined Types, Database Mirroring, Service Broker, Table Partitioning, Typed XML and XML indexing (XML data type), Backup and Restore, Replication, Extended Stored Procedures, SQL Server Agent/Jobs • Limitazioni su T-SQL Common Language Runtime (CLR), Database file placement, Database mirroring, Distributed queries, Distributed transactions, Filegroup management, Global temporary tables, SQL Server configuration options, SQL Server Service Broker, System tables, Trace Flags • Documentazione disponibile online • Pianifica prima di iniziare 
  • 29. GESTIRE SCHEMA E DATI • Gestire ambienti di test e produzione • Pianificare uno scenario di undo • Cambiare lo schema e dati SQL Server Management Studio (SSMS) – da SQL Server 2012 usando .bacpac package SQL Database Migration Wizard (CodePlex) – SQL Server 2008 R2 SP1 (v3x), SQL Server 2012 (v4x) • Cambiare solo dati – bcp, SSMS, SQL Data Sync, SSIS • Cambiare solo lo schema – Microsoft Visual Studio 2012
  • 30. Caso reale di upload federazione • Strumento utilizzato: Esporta dati di SQL Server Management Studio • Quantità: 3 tabelle, 8,6KK righe, 490MB dimensione totale • Tempi: 10’ 15’’ download/upload parallelo, fibra 10Mbit/s
  • 31. demo
  • 32. Considerazioni • DBA, Data Architect e sviluppatori, non litigate tra voi  • “Scalare” prima di raggiungere il limite • Scegliere una pubblicazione passo-passo • Pianificare prima di iniziare 
  • 33. Strategie di backup e restore Non dimenticartelo!
  • 34. Chi fa cosa? • SQL Azure periodico mantenuto almeno 7 giorni “as a safe guard against catastrophic software and system failures” !!!! Backup Full settimanale, Differenziale giornaliero, Transaction Log ogni 5’ Storico 7gg (B), 14gg (S), 35gg (P) Point in Time Restore, Restoring a Deleted Database, Geo-Restore • Errori Utente (Business Continuity) Usare SQL Data Sync (backup offline/remoto) Copia di Database (CREATE DATABASE [destination] AS COPY OF [source]) Import/Export Service (Azure BLOB storage necessario, auto in preview) Gruppo/Agente di sincronizzazione Azure (SQLDataSyncAgent solo x86 ) • Pianificare prima di iniziare 
  • 35. Service Level Agreement (SLA) Garanzie sul servizio fornito?
  • 36. SLA • 99,90% (W, BU) e 99,99% (B, S, P) – Mensile, calcolo al minuto su inattività >= 1 minuto • Limiti di sottoscrizione • Carta di credito senza soldi • Sforamenti di quota • DTU (Database Throughput Units ) • Upgrade / Downgrade del Service tier – SLO (Service Level Objective) e “la formula del male” 3 x (5 minutes + database size / 150 MB/minute) Es. 3 x (5 minutes + 50 GB x 1024 MB/GB / 150 MB/minute) ≈17 hours SLO < SLA  SLO == SLA  SLO > SLA  (MNU)
  • 37. Links • Migration from federation to elastic scale azure.microsoft.com/en-us/documentation/articles/sql-database-elastic- scale-federation-migration/ • Azure SQL Database Elastic Scale Ch9 channel9.msdn.com/Shows/Data-Exposed/Azure-SQL-Database-Elastic- Scale • SQL Database Service Level Agreement (SLA) www.windowsazure.com/it-it/support/legal/sla/ • SQL Database pricing www.windowsazure.com/it-it/pricing/details/sql-database/
  • 38. Links • SQL Server Migration Assistant (SSMA) blogs.msdn.com/b/ssma/ • Guidelines and Limitations (Windows Azure SQL Database) msdn.microsoft.com/en-us/library/windowsazure/ff394102.aspx • Known SQL Data Sync (Preview) Limits msdn.microsoft.com/en-us/library/jj590380.aspx • Azure SQL Database Backup and Restore msdn.microsoft.com/en-us/library/azure/jj650016.aspx
  • 39. feedback 10 o Feedback su: • http://xedotnet.org/feedback Grazie! Emanuele Zanchettin – thinkIT Email: ezanchettin@thinkit.it Site: http://www.thinkit.it/ Twitter: @_thinkIT_ LinkedIn: http://it.linkedin.com/pub/emanuele-zanchettin/18/921/34