Académique Documents
Professionnel Documents
Culture Documents
Applications
with SQL Azure
Lev Novik
Software Architect
Microsoft Corporation
Agenda
SQL Azure --- what is it for?
A quick recap
Why scale-out?
Futures
Microsoft SQL Azure
Information Platform as a Service
Database
ties delivered as a service (Database as a, Reporting
, Data Sync utility with
…) pay as you grow scaling
Innovate with new data application patterns
y, greater flexibility Rely on Business-ready SLAs
Build cloud-based data solutions on a familiar relational
and deployment Enable multi-tenant solutions
Build on existing developer skills and familiar Transact-S
ility and fault tolerant Manage multiple servers
Provisioning Model
Each account has zero or more servers
Establishes a billing instrument
Account
Each server has one or more databases
Logical concept equal to a master DB
Unit of authentication, geo-location, billing,
reporting
Server Generated DNS-based name
Scale-out
Partition data and load across many servers
Small servers are cheap! Scale linearly
Bring computational resources of many to bear
800 little servers is very fast
Load spikes don’t upset us
Load balancing across the entire data center
Scale-out with SQL Azure Today
Elastic Provisioning of Databases
CREATE DATABASE and go
No VMs, no servers
Average
Usage Time
Pay as you grow and shrink
# of Hr’s
Comput
e
T1 T2 T3 T4 T5 T1 T2 T3 T4 T5
T6 T7 T8 T9 T10
T6 T7 T8 T9 T10
All my data
T11 T12 T13 T14 T15
is handled by
T11 T12 T13 T14 T15 one DB on one serve
T16 T17 T18 T19 T20
T16 T17 T18 T19 T20
Sharding Pattern
Linear scaling through database
independence
No need for distributed transactions in
common cases App
Application-influenced partitioning
Rather than complete transparency
To alter schema:
Manually
Connect to each federation member (USE FEDERATION Orders(56) WITH
FILTER=OFF)
Alter it (ALTER TABLE Customers …)
Future: schema-distribution service
Connect to root
Manage and apply schemas asynchronously
Federation Split
demo
Sharding in SQL Azure: Beyond v1
Schema Management
Allow multi version schema deployment and management across
federation members.
Fan-out Queries
Allow single query that can process results across large number of
federation members.
Auto Repartitioning
SQL Azure manages the federated databases for you through
splits/merges based on some policy (query response time, db size
etc)
Multi Column Federation Keys
Federate on enterprise_customer_id+account_id
Summary
Scale-out is the way to build cloud solutions
CREATE TABLE orderdetails(orderdetailid bigint, orderid bigint, partid bigint, customerid bigint,
primary key (orderdetailid, customerid))
FEDERATE ON (customerid)
-- go back to root
USE FEDERATION ROOT
prod2
clone
copy
abc.database.windows.net
prod2
Master Dev1
clone
copy
CREATE
CREATE DATABASE
DATABASE efg.prod2clone
abc.prod2clone
xyz.prod2clone AS
AS COPY
COPY OF
OF xyz.prod2
xyz.prod2
SQL Azure Data Sync – V1 Overview
CTP1
SQL Azure
Database
Sy c
nc n
Sy
Sync
CTP2
nc Sy
Sy nc
On-Premises (Headquarters)
© 2010 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.