Académique Documents
Professionnel Documents
Culture Documents
Including:
Miss a User Group meeting? Agile
We know you cannot make C#
Forget something that you learned?
it to every User Group Entity Framework
Want to see content from a User Group HTML5
meeting,
not in your area? MVC
that is why we post them Silverlight
Want to share with a buddy?
online for you! XAML
jQuery
and Much More!
We now have over 425 presentations online
That is over 100 GB of video Presentations from
the thought leaders
New Content added all the time!
on the topic.
@UserGroupTV http://www.UserGroup.tv
Details @ https://azure.microsoft.com/en-us/documentation/articles/data-management-azure-sql-database-and-
sql-server-iaas/
Details @ http://blogs.msdn.com/b/igorpag/archive/2015/03/20/azure-sqldb-and-sql-server-vm-how-to-
make-an-equal-cost-comparison.aspx
Details @ https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs/
Fully managed SQL database service so you can focus on your business
Basic Standard Premium
Database Throughput 5 10 - 100 125 - 1750
Units (DTUs)
Performance Objectives Transaction rate per hour Transaction rate per Transaction rate per
minute second
Max Max
Max Benchmark Est. Price per
Service Tier DTU MAX DB Size Concurrent Concurrent Predictability
Sessions Transaction Rate Month
Requests Logins
Standard/S2 50 250 GB 120 120 1,200 2,570 t/p minute Better $75
Standard/S3 100 250 GB 200 200 2,400 5,100 t/p minute Better $150
Premium/P1 125 500 GB 200 200 2,400 105 t/p second Best $465
Premium/P2 250 500 GB 400 400 4,800 228 t/p second Best $930
Premium/P6
1,000 500 GB 1,600 1,600 19,200 735 t/p second Best $3,720
(formerly P3)
Writes
Reads
Memory
Basic Standard Premium
P3
P2
P1
S3
S2
S1
B S0
SQL DB
V12
Geo-Redundant Recovery Time
Geo-Restore RPO < 1 hour
Backups Minutes to Hours
Write
Operations
Azure SQL
Database
Standard/S2 50 250 GB 120 120 1,200 2,570 t/p minute Better $75
Standard/S3 100 250 GB 200 200 2,400 5,100 t/p minute Better $150
Premium/P1 125 500 GB 200 200 2,400 105 t/p second Best $465
Premium/P2 250 500 GB 400 400 4,800 228 t/p second Best $930
Premium/P6
1,000 500 GB 1,600 1,600 19,200 735 t/p second Best $3,720
(formerly P3)
http://azure.microsoft.com/en-us/pricing/details/sql-database/
https://msdn.microsoft.com/en-us/library/azure/dn741336.aspx
Fabrikam
Inventory
Order
Invoice
Cust Cust
Root Shard #2 Shard #n
[1,10] [11,20]
Vertical: Scale-up vs. scale-down
Change service-tiers for a given database as capacity needs fluctuate
Premium Premium
Standard Standard
Standard Standard Standard Standard Standard Standard Standard
Scale out/in
100 S2 for 5000 DTUs (max size 25TB) -> ($90k / 12 months)
25 P2 for 5000 DTUs (max size 12.5TB) -> ($279k / 12 months) **
* DTU tx as defined in the Azure SQL Database Benchmark ** with many additional features
Jan
App App
Time Scale
Single tenant per database
Each tenants data is stored in a different database DB1 DB2
Better isolation of tenants as compared to multi-tenant model
Multiple tenants per database
Customer Customer
1 2
Elastic
Application
Elastic Scale Admin/
Developer Scale app Manage- DevOps
ability
Grow/shrink capacity
Admin/
DevOps
Note that your application needs to be shardable to benefit from Elastic Scale. If the application
does not partition well, Elastic Scale (or any other sharding approach) is likely not going to be a good fit.
Azure SQL DB
Shard Set
Client .NET APIs Management Services
Shard map management Split/Merge (SM)
Define groups of shards for your application Grow or shrink capacity by adding or
removing databases
Manage mapping of routing keys to shards
Re-balance data among shards
Data dependent routing (DDR) Isolate hotspots
Route incoming requests to the correct
shard, e.g., given a customer ID Shard Elasticity (SE)
Ensure correct routing as tenants move Dynamically adjust scale factor of database
Cache routing information for efficiency Trigger adjustment through policies
SELECT *
FROM customers
WHERE customer ID = 104
DB1
[0-100)
LSM
ShardMap.OpenConnectionForKey(
104 /* Tenant ID */ ,
/* Credentials Only */ ,
ConnectionOptions.Validate /* Validate */ ));
DB2
spValidate
[100, 200)
LSM
Shard Map
Client App Manager
Application MSQ APIs ( )
Developer
Merge Split
Horizontal scaling
DB6
DB5 [500-600)
DB4 [400-500)
DB1 DB2 DB3 [300-400) DBn
...
[0-100) [100-200) [200-300) [n-n+100)
S0 S0 S0 S2 P1 P3
time
here
http://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.ElasticScale.Service.SplitMerge/
http://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-scale-
get-started/
http://azure.microsoft.com/en-us/documentation/articles/sql-database-
elastic-scale-documentation-map/
https://code.msdn.microsoft.com/