Download Building Applications using SQL Azure

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

IMDb wikipedia , lookup

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

Database wikipedia , lookup

SQL wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

ContactPoint wikipedia , lookup

PL/SQL wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
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