* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Building Applications using SQL Azure
Entity–attribute–value model wikipedia , lookup
Oracle Database wikipedia , lookup
Microsoft Access wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Concurrency control wikipedia , lookup
Functional Database Model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
ContactPoint wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Clusterpoint wikipedia , lookup
Windows Azure Platform Training Workshop Scaling Out with SQL Azure Name Title Organization Email 3 Reporting Business Analytics Data Sync The Power of the SQL Data Platform in the cloud Leverages existing skills and rich tooling ecosystem Enables database applications with new, “cloud” capabilities SQL Azure Database Highly scaled out relational database as a service Relational database service Browser • SQL Server technology foundation SOAP/REST HTTP/S • Highly symmetrical ADO.NET/REST - EDM HTTP/S • Highly scaled • Highly secure App Code (ASP.NET) Windows Azure Compute T-SQL (TDS) SQL Azure Database SQL Server Report Server (on-premises) T-SQL (TDS) MS Datacenter - AD Federation (LiveId /AppFabric AC) Database “as a Service” – beyond hosting Customer Value Props Self-provisioning and capacity on demand Symmetry w/ on-premises database platform Automatic high-availability and fault-tolerance Automated DB maintenance (infrastructure) Simple, flexible pricing – “pay as you grow” SQL Azure Network Topology Application Applications use standard SQL client libraries: ODBC, ADO.Net, … TDS (tcp:1433) Load Balancer Load balancer forwards ‘sticky’ sessions to TDS protocol tier TDS (tcp: 1433) Gateway Gateway Gateway Gateway Gateway Gateway TDS (tcp: 1433) Data Node Data Node Data Node Data Node Data Node Data Node Scalability and Availability: Fabric, Failover, Replication and Load balancing 6 Database Replicas ! Replica 1 DB Replica 2 Replica 3 Replica 4 7 SQL Azure Deployment DB Script 8 SQL Azure TDS Gateway SQL Azure Accessing databases Change Connection String Your App 9 SQL Azure TDS Gateway Database Size Maximum single database size is currently 10GB Includes: primary replica data, objects and indexes Does NOT include: logs, master database, system tables, server catalogs or additional replicas V1 does not support auto-partitioning or fan-out queries Must handle partitioning logic within the application 10 Throttling MSDN • Use traditional SQL Server best practices • CTP cluster has throttling limits turned up to allow for building logic into apps for handling this case • Build in retry logic especially if you expect very high throughput demands • Consider scaling out for high throughput scenarios 11 Why scale out? Increased throughput for massive load Increased relational database storage volume Scale out on low cost commodity hardware 12 Scaling Out 1 x 10GB database 10 x 1GB databases 13 Sharding basics Several databases are used to store a portion of the application’s data The same schema is used across all databases Data is horizontally partitioned among databases (shards) based on certain criteria (i.e.: geographical info, customer) 14 Scale Out Considerations Database sharding causes complexity Can I separate my database per tenant? Partitioning strategy is highly dependant on scenario Is there natural partitioning that facilitates use cases? Uniform partitioning via round-robin (modulo) can be highest performance 15 Analyzing the sharding model Primary Shard Global Shard Child Global 16 Country, OrderDate ContactID could be the partition field Partitioning Your Data 17 Getting your data back out Fan-out queries across included partitions Use parallelism if possible Combine results in memory Handle aggregates, etc 18 Inserting data Global data Insert into every partition Handle transaction logic in application Partition specific data Lookup correct partition Insert using same paradigm as single database 19 Querying and Inserting Data into Sharded Databases 20 The future Increased support for partitioning and fan-out Robust guidance from Microsoft Patterns & Practices Scale Out with Entity Framework Proof Of Concept 21 Want to Know More? Windows Azure Platform http://www.azure.com/ Windows Azure Platform Training Kit http://www.microsoft.com/downloads/details.aspx?FamilyID=4 13E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en MSDN Development Center http://msdn.microsoft.com/en-us/sqlserver/dataservices Team Blog http://blogs.msdn.com/ssds 23 24 © 2008 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. 25