18
virtual techdays INDIA 18-20 august 2010 SQL Azure – Tips and Tricks Ramaprasanna Chellamuthu Developer Evangelist, Microsoft

Virtual techdays INDIA │ 18-20 august 2010 SQL Azure – Tips and Tricks Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft

Embed Size (px)

Citation preview

virtual techdaysINDIA │ 18-20 august 2010

SQL Azure – Tips and Tricks

Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft

Introduction to SQL Azure Why SQL Azure? Architecture Application Topologies Provisioning Deployment

Demo Let’s see SQL Azure in action

SQL Azure Tips and Tricks

virtual techdaysINDIA │ 18-20 august 2010

S E S S I O N A G E N D A

Database ChoicesRe

sour

ces

Dedicated

Shared

Low High“Friction”/Control

SQL Azure (RDBMS)

Value Props:Auto HA, Fault-ToleranceFriction-free scaleSelf-provisioningHigh compatibility

Virtual DB serverResource governance @ LDB Security @ LDB

Hosted Hosted SQL Server or other Resource governance @ VM Security @ DB Server/OS

On-premise SQL Server or other s/w on-premise Resource governance @ machine Security @ DB Server/OS

Value Props:Full h/w control – size/scale100% compatibilityRoll-your-own HA/DR/scale

Value Props:100% of API surface area

Roll-your-own HA/DR/scale

SQL Azure V1 targets scenarios that live in the lower left quadrant

SQL Azure DatabaseThe first and only true relational database as a service

Elastic Scale Developer Agility

Self-managed

• Database utility; pay as you grow

• Flexible load balancing• Business-ready SLAs• Enable multi-tenant

solutions• World-wide presence

• Easy provisioning and deployment

• Auto high-availability and fault tolerance

• Self-maintaining infrastructure; self-healing

• No need for server or VM administration

• Build cloud-based database solutions on consistent relational model

• Leverage existing skills through existing ecosystem of developer and management tools

• Explore new data application patterns

SQL Azure Network TopologyApplication

Load Balancer

TDS (tcp:1433)

TDS (tcp: 1433)

TDS (tcp: 1433)

Applications use standard SQL client libraries: ODBC, ADO.Net, …

Load balancer forwards ‘sticky’ sessions to TDS protocol tier

Data Node Data Node Data Node Data Node Data NodeData Node

Gateway Gateway Gateway Gateway Gateway Gateway

Scalability and Availability: Fabric, Failover, Replication and Load balancing

V1 Application Topologies

MSDatacenter

SOAP/RESTHTTP/S

SQL Azure access from within MS Datacenter (Azure compute – ADO.NET)

Windows Azure

T-SQL (TDS)

MSDatacenter

T-SQL (TDS)

App Code / Tools

SQL Azure access from outside MS Datacenter (On-premises – ADO.NET)

App Code(ASP.NET)

ADO.NET Data Svcs/REST - EFHTTP/S

Code Far

SQL Data Services

SQL Data Services

Application/ Browser

Code Near

Architecture• Shared infrastructure at SQL database and below– Request routing, security and isolation

• Scalable HA technology provides the glue– Automatic replication and failover

• Provisioning, metering and billing infrastructure

Machine 5SQL Instance

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

Scalability and Availability: Fabric, Failover, Replication, and Load balancing

SDS Provisioning (databases, accounts, roles, …, Metering, and Billing

Machine 6SQL Instance

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

Machine 4SQL Instance

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

Scalability and Availability: Fabric, Failover, Replication, and Load balancing

Database Replicas

Replica 1

Replica 2

Replica 3

DB

Single Database Multiple Replicas

Single Primary

Replica 4

!

SQL AzureDeployment

SQL AzureTDS Gateway

DB Script

SQL AzureAccessing databases

Your App

Change Connection String

SQL AzureTDS Gateway

ThrottlingMSDN

• 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

Scaling Out• 1 x 10GB database

• 10 x 1GB databases

Security Model• Uses regular SQL security model– Authenticate logins, map to users and roles– Authorize users and roles to SQL objects

• Limited to standard SQL Auth logins– Username + password

• Future AD Federation, WLID, etc as alternate authentication protocols

Security model is 100% compatible with on-premise SQL

Database Editions• Two SQL Azure Database SKUs: Web & Business

– Web Edition: 1 GB @ $9.99/month | 5 GB @ $49.95/month– Business Edition: Up to 50 GB @ $99.99/10 GB/month

10 GB @ $99.99 | 20 GB @ $199.98 | 30 GB @ $299.97 | 40 GB @ $399.96 | 50 GB @ $499.95

• You specify Web or Business Edition– Web: EDITION = Web– Business: EDITION = Business

• You specify MAXSIZE– Web: MAXSIZE = 1GB| 5GB– Business: MAXSIZE = 10GB | 20GB | 30GB | 40GB | 50GB– This is the size we will not let you grow beyond– You will be charged for the actual (peak) size (in any one day)

CREATE DATABASE foo1 (EDITION='business', MAXSIZE=50GB);CREATE DATABASE foo2 (EDITION='business', MAXSIZE=30GB);

CREATE DATABASE bar1 (EDITION='web', MAXSIZE=5GB);CREATE DATABASE bar2 (EDITION='web'); -- Defaults to 1GB

Up to 50 GB10 GB increments

Business Edition

Up to 5 GBEither 1 GB or 5 GB

Web Edition

virtual techdaysINDIA │ 18-20 august 2010

SQL Azure in Action

Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft

virtual techdaysINDIA │ 18-20 august 2010

SQL Azure - Tips and Tricks

Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft

Key Takeaways• Integrated part of the SQL Data Platform

• Leverage you existing SQL Server knowledge and tools

• SQL Azure is the data platform of the Windows Azure Platform

virtual techdaysTHANK YOU !│18-20 august 2010

http://twitter.com/ramaprasanna http://blogs.msdn.com/ramaprasanna