CNIC Information System with Pakdata Cf In Pakistan
Inside SQL Azure: Self Governing, Self-Healing, Massively Scalable Database Service in the Cloud
1. INSIDE SQL AZURE
Self Governing, Self-Healing, Massively Scalable
Database Service in the Cloud
Cihan Biyikoglu
Program Manager - SQL Azure
2. AGENDA
Inside SQL Azure
• SQL Azure = SQL Server + Self Management Services
• SQL Azure Arch Components
• SQL Azure Maintenance Model
• SQL Azure Network Model
• What does this mean for data movement?
• What does this mean for perf and scale?
• What does this mean for your SQL Server apps?
• What does this mean for your apps economics?
4. SERVICE PROVISIONING MODEL
• Each account has zero or more servers
Account
• Azure wide, provisioned in a common portal
• Established a Billing instrument
• Each server has one or more databases
Server • Logical concept equal to a master DB
• Contains metadata about database & usage
• Unit of authentication, geo-location, billing, reporting
• Generated DNS-based name
Database • Each database has standard SQL objects
• Users, Tables, Views, Indices, etc
• Unit of consistency
5. DATACENTER ARCHITECTURE
Datacenter
Routers
Aggregation
Routers and
Load Balancers
Agg Agg Agg Agg Agg Agg
LB LB LB LB LB LB LB LB LB LB LB LB
Top of Rack
Switches
TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Nodes
Racks … … … … … …
PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU
Power Distribution
Units
6. NETWORK TOPOLOGY
Applications use standard SQL client
Application libraries: ODBC, ADO.Net, …
Internet
Azure Cloud
TDS/SSL (tcp)
Security Boundary Load balancer forwards ‘sticky’ sessions to
LB TDS protocol tier
TDS (tcp)
Gateway Gateway Gateway Gateway Gateway Gateway
Gateway: DaaS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to SQL Azure
TDS (tcp)
SQL SQL SQL SQL
3/8/2012 6
Scalability and Availability: Fabric, Failover, Replication, and Load balancing
7. SERVICES LAYER - GATEWAY
• Layer of isolation between the backend and customer traffic
• Provisioning Billing - Server & Databases
• Maps logical objects to physical resources
o Physical location for SQL Azure Servers, User Databases
• Handles login
o Negotiates capabilities at PreLogin
o Encryption (required), MARS
• Inspects TDS packets for G-SQL
o G-SQL = T-SQL Commands executed by the Gateway, such as CREATE DATABASE or CREATE
FEDERATION
9. PLATFORM LAYER
• SQL Server Engine = Codebase SQL2012
• Multitenant Setup – more details coming…
o Single physical database that contain multiple logical databases with Single log file shared
among all logical databases
o Engine Resource Management (throttling) for fairness and protection
SQL Azure - Engine Node
10. PLATFORM LAYER
• SQL Azure Fabric
• SLA: Replication with auto-failover
o Service monitoring and health management through ring topology
• Load Balancing
o Spread high concentration of load to balance the cluster, improve customer experience and
improve node health
11. MULTI-TENANCY: RESOURCE MANAGEMENT
• Resource shared on machine with neighbor databases
• CPU, memory, data/log spindles
• TempDB, worker threads, network
• Neighbors activity can affect your DB
• Multi-tenancy management provided in SQL Azure
o Load Balancer
o Throttling Service
13. MULTI-TENANCY: LOAD BALANCER
– Balance resource utilization across all machines
– Minimize overloaded machines and reduce throttling
– Swap vs. move mechanisms
– Runs periodically, solves long term imbalance for cluster
– Reactive Load Balancer solves short term spikes
» React to spikes before the next regular LB run
» Alleviate high throttling occurrences on hot machines
14. MULTI-TENANCY: RESOURCE THROTTLING
o Throttling Service
• Protect a machine from sustained high usage of system resources
• Evaluate actual resource usage vs. safe thresholds real-time
• Throttle the busiest DBs first (soft throttle)
• Throttle every DB if necessary (hard throttle)
o Throttling show as connection error 40501
– “The service is currently busy. Retry the request after 10 seconds. Code: %d.”
16. SERVICE UPDATES
• SQL Azure requires no physical management
• HW, Networking, OS service packs and patches, SQL Server service packs or
patches are automatically done for you!
• Upgrade are done frequently
• Hotfixes, Service Upgrades or Service Releases for
o Sql azure, windows azure, windows server
17. MULTI PHASE UPGRADE
• Rollout in pieces
• Fault Domains ~= Racks
• We upgrade a fault domain at a time
o Fault Domains are considered when placing replicas.
o Ensure we take out one replicate of your db at a time down only.
19. MICROSOFT AZURE DATA CENTERS WORLD WIDE
North Europe
North
Central US
West Europe
South
Central US East Asia
Southeast Asia
Hosting locations within 100ms of the
Regional hosting locations customer
At least one hosting location can be
reached within 100ms, but not two
200ms Latency from 2
regional hosting locations No points to test from or greater than
200ms latency
20. AZURE CROSS DATACENTER LATENCIES
North-central South-central
FromTo (ms) North Europe West Europe East Asia South-East Asia
US US
North-central
4.2 35.3 97 103.6 190.9 219.7
US
South-central
37.8 2.3 111.2 117.5 190 218.6
US
North Europe 99.8 111.8 2 20.9 283.3 312.3
West Europe 107.5 118.6 21.1 2.3 291.8 320.8
East Asia 194.5 190.8 284.2 291.7 1.6 32.6
South-East Asia 223.1 219.2 312.9 320.1 32.2 1.9
• Client Stats & SQL Ping
21. DATA MOVEMENT PERFORMANCE WITH LATENCY
• If you have bandwidth you can beat latency!
High Bandwidth, Medium Latency - 54ms
High Bandwidth, High Latency - 169ms
Parallel Upload Batch Size 1K (sum rows/sec)
Native Sorted - Batch 10K (rows/sec)
Native - Batch 10K (rows/sec)
Low Bandwidth, Very High Latency - 289ms
Native - Batch 100 (rows/sec)
Low Bandwidth, Medium Latency - 114ms
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
23. WHAT IS SQL AZURE?
• Database as a Service in the Cloud
• Low Maintenance
o Built in HA (SLA of 99.9%), Load Balanced (for db placement)
o No Physical Maintenance Required – no wires, no patches for OS or SQL etc
• Best Economics
o Optimized for best economics, great price performance and high scale
o Able to achieve all this at a new low price point and with pay as you go model
• Rich Familiar Programming Model
o It is SQL Server at heart!
– Full ACID with Rich server and client side programmability options
– Rich ecosystem of tools from BI to 3rd Party Management tools to MSOffice Integration…
24. TOP ARCHITECTURAL DIFFERENCES
SQL Server SQL Azure
Performance Spectrum of HW choices Locked HW choice
No HA by default HA and IO latency with 3 copies
Dedicated setup by default Multi-tenant setup
Typically low latency access Could be high latency to DC
Scale Model Spectrum of HW choice Locked HW choice
Scale-Up – limited with HW Scale-Out with Federations– no
practical limits
Economics Per Core or Per Server+CAL Pay As You Go + Elastic
Exponential Cost with Scale-Up Linear cost with Scale-Out
High Overhead on Admin No Admin Overhead
25. TOP APP MODEL DIFFERENCES
• SQL Azure Application Model Difference
• Scale-out for scale and perf
o Take advantage of elasticity and get great economics
o Take advantage of unlimited scale
• Parallelize for efficiency
o Harness many small nodes
o Get around both network and disk IO latency
• Code for Failure
o Work in smaller transactions – so you can fail small
o Integrate retry and resume logic into all operations