SlideShare a Scribd company logo
Hochskalierbare,
Relationale
Datenbanken in
Microsoft Azure
Sascha Dittmann
Data Solution Architect, Microsoft
Twitter: @SaschaDittmann
Use Case
Microsoft Azure Data Services
transactional processing
rich query
managed as a service
elastic scale
Internet accessible http/rest
schema-free data model
arbitrary data formats
Azure SQL Database
The developer’s intelligent cloud database service
Demo
Creating a Azure SQL DB
Hochskalierbare, relationale Datenbanken in Microsoft Azure
Azure SQL DB – Service Tiers
Database Transaction Units (DTU)
Reads
CPU
Writes
Memory
Utilization
30%
75%
50%
75%
DTU Calculator
Query Performance Insight
Self-tuning Performance
Hochskalierbare, relationale Datenbanken in Microsoft Azure
Performance Patterns
Performance Management
Singleton databases Elastic databases
Elastic Database Pool
Shard Map Manager
Querying a Shard
var customerId = 12345;
var newPersonId = 4321;
var connectionString = Configuration.GetCredentialsConnectionString();
using (SqlConnection conn = customerShardMap.OpenConnectionForKey(customerId,
connectionString, ConnectionOptions.Validate))
{
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = @"UPDATE Sales.Customer
SET PersonID = @newPersonID
WHERE CustomerID = @customerID";
cmd.Parameters.AddWithValue("@customerID", customerId);
cmd.Parameters.AddWithValue("@newPersonID", newPersonId);
cmd.ExecuteNonQuery();
}
Querying multiple Shards
using (MultiShardConnection conn = new MultiShardConnection(myShardMap.GetShards(), myShardConnectionString))
{
using (MultiShardCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT c1, c2, c3 FROM ShardedTable";
cmd.CommandType = CommandType.Text;
cmd.ExecutionOptions = MultiShardExecutionOptions.IncludeShardNameColumn;
cmd.ExecutionPolicy = MultiShardExecutionPolicy.PartialResults;
using (MultiShardDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
var c1Field = sdr.GetString(0);
var c2Field = sdr.GetFieldValue<int>(1);
var c3Field = sdr.GetFieldValue<Int64>(2);
}
}
}
}
Demo
Azure SQL Elastic Pools
Do we need a Data Warehouse?
Azure SQL Data Warehouse
Compute
Dist_DB_1
Dist_DB_2
Dist_DB_12
SQL DW - Architecture
SSD storage
Queries Control
Engine
DMS
SQL DB
DMS
SQL DB
…
Compute
Dist_DB_13
Dist_DB_14
Dist_DB_24
DMS
SQL DB
… Compute
Dist_DB_25
Dist_DB_26
Dist_DB_36
DMS
SQL DB
…
Compute
Dist_DB_37
Dist_DB_38
Dist_DB_48
DMS
SQL DB
…
Compute
Dist_DB_49
Dist_DB_50
Dist_DB_60
DMS
SQL DB
…
Compute
Dist_DB_1
Dist_DB_2
Dist_DB_6
SQL DW - Architecture
Blob storage [WASB(S)]
Queries Control
Engine
DMS
SQL DB
DMS
SQL DB
…
Compute
Dist_DB_7
Dist_DB_8
Dist_DB_12
DMS
SQL DB
…
Compute
Dist_DB_13
Dist_DB_14
Dist_DB_18
DMS
SQL DB
… Compute
Dist_DB_19
Dist_DB_20
Dist_DB_24
DMS
SQL DB
…
Compute
Dist_DB_25
Dist_DB_26
Dist_DB_30
DMS
SQL DB
…
Compute
Dist_DB_31
Dist_DB32
Dist_DB_26
DMS
SQL DB
…
Compute
Dist_DB_37
Dist_DB_38
Dist_DB_42
DMS
SQL DB
…
Compute
Dist_DB_43
Dist_DB_44
Dist_DB_48
DMS
SQL DB
…
Compute
Dist_DB_49
Dist_DB_50
Dist_DB_54
DMS
SQL DB
…
Compute
Dist_DB_55
Dist_DB_56
Dist_DB_60
DMS
SQL DB
…
Hochskalierbare, relationale Datenbanken in Microsoft Azure
Table Distribution Options
Replicated
(Future improvement)
Round Robin
(Default)
Data distributed evenly across
nodes
Easy place to start, don’t need to
know anything about the data
Simplicity at a cost
Data repeated on every node
Simplifies many query plans and
reduces data movement
Best with joining hash table
Hash Distributed
Data divided across nodes based on
hashing algorithm
Same value will always hash to same
distribution
Single column only
Check for Data Skew,
NULLS, -1
Will incur more data
movement at query time
Consumes more space
Joining two Replicated
Table runs
on one node
Best Practices
• Designed for DW and not OLTP
• Do not use singleton DML heavy operations
• Load Data in „batch mode“
• PolyBase
• BCP, SQL BulkCopy, etc.
• Azure Data Factory
• SQL Server Integration Services
• …
PolyBase Import Readers / Writers
DWU
Max External
Readers
Max Writers
DW100 8 60
DW200 16 60
DW300 24 60
DW400 32 60
DW500 40 60
DW600 48 60
DW1000 80 60
DW1200 96 60
DW1500 120 120
DW2000 160 120
DW3000 240 240
DW6000 480 480
Hochskalierbare, relationale Datenbanken in Microsoft Azure
Azure SQL Database
https://docs.microsoft.com/en-us/azure/sql-database/
http://dtucalculator.azurewebsites.net/
Azure SQL Database
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-scale-introduction
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-wtp-overview
Azure SQL Data Warehouse
https://docs.microsoft.com/en-us/azure/sql-data-warehouse/
Resources
Hochskalierbare, relationale Datenbanken in Microsoft Azure

More Related Content

PPTX
C# + SQL = Big Data
PPTX
Azure Data Factory Data Flow Limited Preview for January 2019
PPTX
U-SQL Partitioned Data and Tables (SQLBits 2016)
PPTX
Azure Data Factory Data Flow Preview December 2019
PPTX
Azure Data Lake and U-SQL
PPTX
SQLBits X Scaling out with SQL Azure Federations
PPTX
ADF Mapping Data Flows Level 300
PPTX
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)
C# + SQL = Big Data
Azure Data Factory Data Flow Limited Preview for January 2019
U-SQL Partitioned Data and Tables (SQLBits 2016)
Azure Data Factory Data Flow Preview December 2019
Azure Data Lake and U-SQL
SQLBits X Scaling out with SQL Azure Federations
ADF Mapping Data Flows Level 300
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)

What's hot (20)

PPTX
Microsoft Azure Data Factory Data Flow Scenarios
PPTX
Tuning and Optimizing U-SQL Queries (SQLPASS 2016)
PPTX
Azure Data Lake Analytics Deep Dive
PPTX
Azure Data Factory Data Flow
PPTX
U-SQL Federated Distributed Queries (SQLBits 2016)
PPTX
Microsoft's Hadoop Story
PPTX
U-SQL Query Execution and Performance Basics (SQLBits 2016)
PPTX
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
PPTX
24 Hour of PASS: Taking SQL Server into the Beyond Relational Realm
PPTX
Introducing U-SQL (SQLPASS 2016)
PDF
Common Strategies for Improving Performance on Your Delta Lakehouse
PPTX
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
PPTX
U-SQL User-Defined Operators (UDOs) (SQLBits 2016)
PPTX
Killer Scenarios with Data Lake in Azure with U-SQL
PPTX
Azure Data Factory Data Flows Training v005
PPTX
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
PDF
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
PPT
SQL Server 2008 for Developers
PPTX
Using C# with U-SQL (SQLBits 2016)
PDF
Javascript & SQL within database management system
Microsoft Azure Data Factory Data Flow Scenarios
Tuning and Optimizing U-SQL Queries (SQLPASS 2016)
Azure Data Lake Analytics Deep Dive
Azure Data Factory Data Flow
U-SQL Federated Distributed Queries (SQLBits 2016)
Microsoft's Hadoop Story
U-SQL Query Execution and Performance Basics (SQLBits 2016)
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
24 Hour of PASS: Taking SQL Server into the Beyond Relational Realm
Introducing U-SQL (SQLPASS 2016)
Common Strategies for Improving Performance on Your Delta Lakehouse
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
U-SQL User-Defined Operators (UDOs) (SQLBits 2016)
Killer Scenarios with Data Lake in Azure with U-SQL
Azure Data Factory Data Flows Training v005
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
SQL Server 2008 for Developers
Using C# with U-SQL (SQLBits 2016)
Javascript & SQL within database management system
Ad

Similar to Hochskalierbare, relationale Datenbanken in Microsoft Azure (20)

PDF
PPTX
AZURE Data Related Services
PDF
Ralph Kemperdick – IT-Tage 2015 – Microsoft Azure als Datenplattform
PDF
Azure Data services
PPTX
Scalable relational database with SQL Azure
PPTX
Introducing Azure SQL Database
PPTX
Exploring Microsoft Azure Infrastructures
 
PDF
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
PPTX
Sql azure dec_2010 Lynn & Ike
PDF
Modeling data and best practices for the Azure Cosmos DB.
PPTX
Sql server 2016 it just runs faster sql bits 2017 edition
PPTX
Azure Database Options - NoSql vs Sql
PPTX
Why you should(n't) run your databases in the cloud
PPTX
Azure data platform overview
PPTX
Berlin Azure Global Bootcamp 2017 - Azure SQL Database
PDF
Geek Sync | Successfully Migrating Existing Databases to Azure SQL Database
PPTX
Azure SQL DWH
PPTX
What's new with Azure Sql Database
PPTX
JoTechies - Azure SQL DB
PDF
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure
AZURE Data Related Services
Ralph Kemperdick – IT-Tage 2015 – Microsoft Azure als Datenplattform
Azure Data services
Scalable relational database with SQL Azure
Introducing Azure SQL Database
Exploring Microsoft Azure Infrastructures
 
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Sql azure dec_2010 Lynn & Ike
Modeling data and best practices for the Azure Cosmos DB.
Sql server 2016 it just runs faster sql bits 2017 edition
Azure Database Options - NoSql vs Sql
Why you should(n't) run your databases in the cloud
Azure data platform overview
Berlin Azure Global Bootcamp 2017 - Azure SQL Database
Geek Sync | Successfully Migrating Existing Databases to Azure SQL Database
Azure SQL DWH
What's new with Azure Sql Database
JoTechies - Azure SQL DB
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure
Ad

More from Sascha Dittmann (17)

PDF
Microsoft R - Data Science at Scale
PDF
SQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSON
PPTX
dotnet Cologne 2015 - Azure Service Fabric
PPTX
SQL Saturday #313 Rheinland - MapReduce in der Praxis
PDF
Hadoop 2.0 - The Next Level
PPTX
Microsoft HDInsight Podcast #001 - Was ist HDInsight
PPTX
SQLSaturday #230 - Introduction to Microsoft Big Data (Part 2)
PPTX
SQLSaturday #230 - Introduction to Microsoft Big Data (Part 1)
PDF
dotnet Cologne 2013 - Windows Azure Mobile Services
PPTX
dotnet Cologne 2013 - Microsoft HD Insight für .NET Entwickler
PPTX
Developer Open Space 2012 - Cloud Computing Workshop
PPTX
PASS Camp 2012 - Big Data mit Microsoft (Teil 1)
PPTX
CloudOps Summit 2012 - 3 Wege in die Cloud
PPTX
.NET Usergroup Rhein-Neckar: Big Data in der Cloud - Apache Hadoop-based Serv...
PPTX
Big Data & NoSQL
PPTX
NoSQL mit RavenDB und Azure
PPTX
Windows Azure für Entwickler V1
Microsoft R - Data Science at Scale
SQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSON
dotnet Cologne 2015 - Azure Service Fabric
SQL Saturday #313 Rheinland - MapReduce in der Praxis
Hadoop 2.0 - The Next Level
Microsoft HDInsight Podcast #001 - Was ist HDInsight
SQLSaturday #230 - Introduction to Microsoft Big Data (Part 2)
SQLSaturday #230 - Introduction to Microsoft Big Data (Part 1)
dotnet Cologne 2013 - Windows Azure Mobile Services
dotnet Cologne 2013 - Microsoft HD Insight für .NET Entwickler
Developer Open Space 2012 - Cloud Computing Workshop
PASS Camp 2012 - Big Data mit Microsoft (Teil 1)
CloudOps Summit 2012 - 3 Wege in die Cloud
.NET Usergroup Rhein-Neckar: Big Data in der Cloud - Apache Hadoop-based Serv...
Big Data & NoSQL
NoSQL mit RavenDB und Azure
Windows Azure für Entwickler V1

Recently uploaded (20)

DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
Website Design Services for Small Businesses.pdf
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Nekopoi APK 2025 free lastest update
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Autodesk AutoCAD Crack Free Download 2025
17 Powerful Integrations Your Next-Gen MLM Software Needs
Website Design Services for Small Businesses.pdf
Digital Systems & Binary Numbers (comprehensive )
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Navsoft: AI-Powered Business Solutions & Custom Software Development
Wondershare Filmora 15 Crack With Activation Key [2025
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
Advanced SystemCare Ultimate Crack + Portable (2025)
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Weekly report ppt - harsh dattuprasad patel.pptx
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Nekopoi APK 2025 free lastest update
Computer Software and OS of computer science of grade 11.pptx
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025

Hochskalierbare, relationale Datenbanken in Microsoft Azure

  • 1. Hochskalierbare, Relationale Datenbanken in Microsoft Azure Sascha Dittmann Data Solution Architect, Microsoft Twitter: @SaschaDittmann
  • 3. Microsoft Azure Data Services transactional processing rich query managed as a service elastic scale Internet accessible http/rest schema-free data model arbitrary data formats
  • 4. Azure SQL Database The developer’s intelligent cloud database service
  • 7. Azure SQL DB – Service Tiers
  • 8. Database Transaction Units (DTU) Reads CPU Writes Memory Utilization 30% 75% 50% 75%
  • 14. Performance Management Singleton databases Elastic databases Elastic Database Pool
  • 16. Querying a Shard var customerId = 12345; var newPersonId = 4321; var connectionString = Configuration.GetCredentialsConnectionString(); using (SqlConnection conn = customerShardMap.OpenConnectionForKey(customerId, connectionString, ConnectionOptions.Validate)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = @"UPDATE Sales.Customer SET PersonID = @newPersonID WHERE CustomerID = @customerID"; cmd.Parameters.AddWithValue("@customerID", customerId); cmd.Parameters.AddWithValue("@newPersonID", newPersonId); cmd.ExecuteNonQuery(); }
  • 17. Querying multiple Shards using (MultiShardConnection conn = new MultiShardConnection(myShardMap.GetShards(), myShardConnectionString)) { using (MultiShardCommand cmd = conn.CreateCommand()) { cmd.CommandText = "SELECT c1, c2, c3 FROM ShardedTable"; cmd.CommandType = CommandType.Text; cmd.ExecutionOptions = MultiShardExecutionOptions.IncludeShardNameColumn; cmd.ExecutionPolicy = MultiShardExecutionPolicy.PartialResults; using (MultiShardDataReader sdr = cmd.ExecuteReader()) { while (sdr.Read()) { var c1Field = sdr.GetString(0); var c2Field = sdr.GetFieldValue<int>(1); var c3Field = sdr.GetFieldValue<Int64>(2); } } } }
  • 19. Do we need a Data Warehouse?
  • 20. Azure SQL Data Warehouse
  • 21. Compute Dist_DB_1 Dist_DB_2 Dist_DB_12 SQL DW - Architecture SSD storage Queries Control Engine DMS SQL DB DMS SQL DB … Compute Dist_DB_13 Dist_DB_14 Dist_DB_24 DMS SQL DB … Compute Dist_DB_25 Dist_DB_26 Dist_DB_36 DMS SQL DB … Compute Dist_DB_37 Dist_DB_38 Dist_DB_48 DMS SQL DB … Compute Dist_DB_49 Dist_DB_50 Dist_DB_60 DMS SQL DB …
  • 22. Compute Dist_DB_1 Dist_DB_2 Dist_DB_6 SQL DW - Architecture Blob storage [WASB(S)] Queries Control Engine DMS SQL DB DMS SQL DB … Compute Dist_DB_7 Dist_DB_8 Dist_DB_12 DMS SQL DB … Compute Dist_DB_13 Dist_DB_14 Dist_DB_18 DMS SQL DB … Compute Dist_DB_19 Dist_DB_20 Dist_DB_24 DMS SQL DB … Compute Dist_DB_25 Dist_DB_26 Dist_DB_30 DMS SQL DB … Compute Dist_DB_31 Dist_DB32 Dist_DB_26 DMS SQL DB … Compute Dist_DB_37 Dist_DB_38 Dist_DB_42 DMS SQL DB … Compute Dist_DB_43 Dist_DB_44 Dist_DB_48 DMS SQL DB … Compute Dist_DB_49 Dist_DB_50 Dist_DB_54 DMS SQL DB … Compute Dist_DB_55 Dist_DB_56 Dist_DB_60 DMS SQL DB …
  • 24. Table Distribution Options Replicated (Future improvement) Round Robin (Default) Data distributed evenly across nodes Easy place to start, don’t need to know anything about the data Simplicity at a cost Data repeated on every node Simplifies many query plans and reduces data movement Best with joining hash table Hash Distributed Data divided across nodes based on hashing algorithm Same value will always hash to same distribution Single column only Check for Data Skew, NULLS, -1 Will incur more data movement at query time Consumes more space Joining two Replicated Table runs on one node
  • 25. Best Practices • Designed for DW and not OLTP • Do not use singleton DML heavy operations • Load Data in „batch mode“ • PolyBase • BCP, SQL BulkCopy, etc. • Azure Data Factory • SQL Server Integration Services • …
  • 26. PolyBase Import Readers / Writers DWU Max External Readers Max Writers DW100 8 60 DW200 16 60 DW300 24 60 DW400 32 60 DW500 40 60 DW600 48 60 DW1000 80 60 DW1200 96 60 DW1500 120 120 DW2000 160 120 DW3000 240 240 DW6000 480 480
  • 28. Azure SQL Database https://docs.microsoft.com/en-us/azure/sql-database/ http://dtucalculator.azurewebsites.net/ Azure SQL Database https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-scale-introduction https://docs.microsoft.com/en-us/azure/sql-database/sql-database-wtp-overview Azure SQL Data Warehouse https://docs.microsoft.com/en-us/azure/sql-data-warehouse/ Resources