Inside SQL Azure: Self Governing, Self-Healing, Massively Scalable Database Service in the Cloud


Published on

Speaker: Cihan Biyikoglu

Dowload SQL Server 2012:

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Inside SQL Azure: Self Governing, Self-Healing, Massively Scalable Database Service in the Cloud

  1. 1. INSIDE SQL AZURESelf Governing, Self-Healing, Massively ScalableDatabase Service in the CloudCihan BiyikogluProgram Manager - SQL Azure
  2. 2. AGENDAInside 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. 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. 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 NodesRacks … … … … … … PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU Power Distribution Units
  6. 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 tierTDS (tcp) Gateway Gateway Gateway Gateway Gateway Gateway Gateway: DaaS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to SQL AzureTDS (tcp) SQL SQL SQL SQL3/8/2012 6 Scalability and Availability: Fabric, Failover, Replication, and Load balancing
  7. 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. 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. 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. 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
  12. 12. VL4SFHU
  13. 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. 14. MULTI-TENANCY: RESOURCE THROTTLINGo 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. 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. 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. 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. 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. 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
  22. 22. LETS RECAP
  23. 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. 24. TOP ARCHITECTURAL DIFFERENCES SQL Server SQL AzurePerformance 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 DCScale Model Spectrum of HW choice Locked HW choice Scale-Up – limited with HW Scale-Out with Federations– no practical limitsEconomics 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. 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
  26. 26. INSIDE SQL AZURE BY CIHAN BIYIKOGLUThanks for Attending
  27. 27. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.