Scaling out Web Applications with Microsoft SQL Azure Database
Download
Report
Transcript Scaling out Web Applications with Microsoft SQL Azure Database
>
>
>
>
>
Highly scaled out relational database as a service
Browser
SQL Azure Database
(Windows Azure Compute)
SOAP/REST
HTTP/S
• Highly scaled
Database “as a Service” – beyond hosting
(ASP.NET)
Windows Azure
Compute
SQL Azure
Database
• SQL Server technology foundation
• Highly symmetrical
Astoria/REST - EDM
HTTP/S
App Code
T-SQL (TDS)
Relational database service
SQL Server Reporting
Server
(on-premises)
T-SQL (TDS)
MS
Datacenter
- AD Federation (LiveId /.Net Svcs ACS)
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”
>
>
>
>
>
Database and workload partitioning is a classic technique for harnessing
the power of many computers to achieve:
• Better price/performance
• Levels of throughput not possible with a single machine
Classic scale-out challenges addressed by SQL Azure:
Highly available service on top of commodity hardware
Zero administration cost of cluster HW, OS and SW
Access to elastic pool of resources
Pay as you grow
No-friction provisioning of databases
Create databases without ever running out of HW
Kelly Blue Book
>
>
>
>
>
>
customer
Client Applications
Azure Roles
.Net Service
Bus
Dynamic
Worker
(tasks uploaded
as blobs)
http:// TicketDirect .*
Azure Storage
Blobs to
store web
and worker
role
resources
-------------
Distributed
Cache Worker
MemCache
Tables to
record
server &
partition
information
Partitioner
Worker
WCF
Queues for
communication
between clients
and roles
Castellan.Azure
• Box Office sales
• Ticket Printing
• System Administration
• Venue/Event
Management
• Partitioning
On Premise
SQL Server
Castellan
Venue
SQL Azure
Castellan
Castellan
Castellan
Venue
Venue
DB 1
Partition(s)
DB’s
Castellan
Castellan
Venue
Venue
DB 2
Partition(s)
DB’s
Castellan
Castellan
Venue
Venue
DBN
Partition(s)
DB’s
One application DB, many venue DB’s – each partitioned in to many parts (40+)
...
Castellan.old (VB6)
High
Storage and Transactional throughput
Transactional Requirements
•
•
Single Database
No Partitioning
Low
•
•
Partitioned Data
Partitioning based on
Application Requirements
(IOPS)
Low
Storage Requirements
Partitioned Data
Partitioning based on
Application Requirements
(IOPS, Storage or both)
•
•
•
•
Partitioned Data
Partitioning Based on
Application
Requirements (Storage)
High
>
>
>
>
>
>
>
>
>
Our Scenario
>
>
>
>
>
Product
>
>
>
code walkthrough
Product
Customer Order
>
>
>
>
>
>
>
>
code walkthrough
Considerations
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>>FUTURE
Better tooling for developers and administrators:
o Dynamic database partition splits
o Ability to merge database partitions
o Improved schema management across database partitions
Database Features for scale-out application patterns:
o Connection management
o Fan-out query support
>
>
>
>
>
>
>
>
>
>
>
>
>
>
channel9.msdn.com/learn
Built by Developers for Developers….
© 2009 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.