sql azure march 2010

34
Lynn Langit http://blogs.msdn.com/SoCalDevGal twitter - @llangit

Upload: lynn-langit

Post on 15-Nov-2014

3.742 views

Category:

Technology


0 download

DESCRIPTION

deck from my presentation at 'Day of Azure' in San Diego in March 2010

TRANSCRIPT

Page 1: SQL Azure March 2010

Lynn Langithttp://blogs.msdn.com/SoCalDevGal

twitter - @llangit

Page 2: SQL Azure March 2010

Windows Azure Platform

Compute: Virtualized compute environment based on

Windows Server

Storage: Durable, scalable, & available storage

Management: Automated, model-driven management

Database: Relational processing for structured/unstructured data

Service Bus: General purpose application bus

Access Control: Rules-driven, claims-based access

control

Page 3: SQL Azure March 2010

Familiar SQL Server relational model Uses existing APIs & tools Built for the Cloud with availability and scale Accessible to all from .NET, PHP, Ruby, or Java

Microsoft SQL Azure

Clear Feedback: “I want a database in the Cloud”

Focus on combining the best features of SQL Server running at scale with low friction

Page 4: SQL Azure March 2010

Initial Services Database – Core SQL Server database capabilities

Future Services Data Sync – Enables the sync framework (soon after PDC)

Additional SQL Server capabilities available as a service: Business Intelligence and Reporting

New services: Reference Data and Secure Data Hub

Extending SQL Data Platform to Cloud

SQL Azure Database

Data SyncReference Data

Reporting

Business Intelligenc

e

Symmetric Programming Model

Data Hub Aggregation

Page 5: SQL Azure March 2010

Database ChoicesR

eso

urc

es

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 areaRoll-your-own HA/DR/scale

Page 6: SQL Azure March 2010

V1 Application Topologies

MSDatacenter

SOAP/RESTHTTP/S

SQL Azure access from within MS Datacenter

Windows Azure

T-SQL (TDS)

MSDatacenter

T-SQL (TDS)

App Code / Tools

SQL Azure access from outside MS Datacenter

App Code

(ASP.NET)

ADO.NET Data Svcs/REST - EFHTTP/S

Code Far

SQL Data Services

SQL Data Services

Application/ Browser

Code Near

Page 7: SQL Azure March 2010

Departmental Applications Web Applications ISV Data Hub (Shortly After V1)

Scenarios for V1

Page 8: SQL Azure March 2010

“It meets the need of Small Business customers that need a true RDBMS for mission critical applications. After many years of implementing enterprise RDBMS applications for customers with in-house infrastructure and talent, how can I in good conscience develop and implement mission critical applications for my small business customers and leave the OS and RDBMS maintenance to a company with no technical staff?”

“Because of the market segment that it addresses, there is no need for enterprise-like functionality, only high-availability and zero-maintenance.”

“It is very well priced. You get a true RDBMS for a fraction of typical in-house hosting costs. The fact that it is a shared resource does not diminish the feature-set, it only amplifies the need for a well architected and optimized design.”

Customer Quotes

Page 9: SQL Azure March 2010

Database Replicas

Replica 1

Replica 2

Replica 3

DB

Single Database Multiple Replicas

Single Primary

Page 10: SQL Azure March 2010

SLA Information

SQL Azure customers will have connectivity between the database and our Internet gateway.

SQL Azure will maintain a “Monthly Availability” of 99.9% during a calendar month. “\

Monthly Availability Percentage” for a specific customer database is the ratio of the time the database was available to customer to the total time in a month.

Time is measured in 5-minute intervals in a 30-day monthly cycle. Availability is always calculated for a full month. An interval is marked as unavailable if the customer’s attempts to connect to a database are rejected by the SQL Azure gateway.Download SQL Azure SLA.

Page 11: SQL Azure March 2010

SQL AzureDeployment

Web Portal(API)

SQL AzureTDS

DB Script

Support existing and new forms of deployment

Page 12: SQL Azure March 2010

Each account has zero or more servers Azure wide, provisioned in a common portal Billing instrument

Each server has one or more databases Contains metadata about the databases and usage Unit of authentication Unit of Geo-location Generated DNS based name

Each database has standard SQL objects Unit of consistency Unit of multi-tenancy Contains Users, Tables, Views, Indices, etc. Most granular unit of billing

Service Provisioning Model

Account

Server

Database

Page 13: SQL Azure March 2010

SQL Azure focus on logical administration Schema creation and management Query optimization Security management (Logins, Users, Roles)

Service handles physical management Automatically replicated with HA “out of box” Transparent failover in case of failure Load balancing of data to ensure SLA

Logical vs. Physical Administration

DBA role places more focus on logical management

Page 14: SQL Azure March 2010

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

Security model is 100% compatible with on-premise SQL

Page 15: SQL Azure March 2010

SQL Azure portal - http://sql.azure.com

Demo – SQL Azure Portal

Page 16: SQL Azure March 2010

SQL AzureAccessing databases

Web Portal(API)

SQL AzureTDS

Your App

Change Connection String

Page 17: SQL Azure March 2010

Use ADO.NET, ODBC, PHP (NOT OLE DB) Client libraries pre-installed in Azure roles Support for ASP.NET controls Clients connect directly to a database

Cannot hop across DBs (no USE) May need to include <login>@<server> Use familiar tools (sqlcmd, osql, SSMS, etc) SSMS 2008 R2 CTP can connect

http://blogs.msdn.com/ssds/archive/2009/11/11/9921041.aspx

Connection Model

Page 18: SQL Azure March 2010

Connecting to SQL Azure with SSMS 2008 R2

SQL Azure Explorer for VS 2010 http://sqlazureexplorer.codeplex.com/

SQLCMD – can also be used SSIS – can also be used

Demo – Connect via tools

Page 19: SQL Azure March 2010

Programming Model

Small Data Sets Use a single database Same model as on premise SQL Server

Large Data Sets and/or Massive Throughput Partition data across many databases Use parallel fan-out queries to fetch the data Application code must be partition aware in v1

For v1 will publish best practices for scale out Post-v1 we are looking at building an abstraction to

hide some of the complexities of partitioning

Page 20: SQL Azure March 2010

Maximum single database size is currently 10GB Database size calculation

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

Special ConsiderationsDatabase Size

Page 21: SQL Azure March 2010

Sharding Databases

1 x 10GB database 1 Instances

10 x 1GB databases 10 Instances

Page 22: SQL Azure March 2010

Support common application patterns Logical/policy based administration Patterns work from SQL Server to SQL Azure Multi-tenancy considerations

Throttling and load balancing Limits on DB size, transaction duration, …

Compatibility Goals

V1: Address the needs of the majority of web and departmental applications

Page 23: SQL Azure March 2010

Compatibility for V1

In Scope

• Tables, indexes and views• w/ clustered indices

• Stored Procedures• Triggers• Constraints• Table variables • Session temp tables

Out of Scope

• Distributed Transactions• Distributed Query• CLR• Service Broker• Spatial datatype• Physical server or catalog DDL and views

Page 24: SQL Azure March 2010

Constants Constraints Cursors Index management and

rebuilding indexes Local temporary tables Reserved keywords Stored procedures Statistics management Transactions

Supported T-SQL (v1)

Triggers Tables, joins, and table

vars T-SQL elements Create/drop databases Create/alter/drop tables Create/alter/drop users

and logins Views

Page 25: SQL Azure March 2010

CLR Database file

placement Database mirroring Distributed queries Distributed

transactions Filegroup

management Full Text Search

Unsupported T-SQL (v1)

Global temporary tables Spatial data and

indexes SQL Server

configuration options SQL Server Service

Broker System tables Trace Flags

Page 26: SQL Azure March 2010

Remove unsupported features, such as…

Migrating an existing schema

User Defined Data Types

Specifying Filegroups Extended Properties USE DATABASE NOT FOR REPLICATION

Various Index options Windows logins Unsupported XML features Indices need to be clustered

Full list at http://www.microsoft.com/sqlserver/2008/en/us/R2.

aspx

Page 27: SQL Azure March 2010

Generating, then modifying, the SQL DDL script

Loading in the data (bcp, etc…)-OR- SQL Azure Migration Wizard

http://sqlazuremw.codeplex.com

Demo – Data into the Cloud

Page 28: SQL Azure March 2010

Simple Application – just change the connection string! All compatibility requirements must be met (T-

SQL) in the DDL Create destination DB schema and populate

with data Firewall rules set up via SQL Azure portal (test

connectivity)

Dem0 – SQL Azure application

Page 29: SQL Azure March 2010

Pricing

Web Edition

1 GB Database $9.99 / month Bandwidth

$0.10 /GB inbound $0.15 /GB outbound

Business Edition 10GB Database $99.99 / month Bandwidth

$0.10 /GB inbound $0.15 /GB outbound

Specified by MAXSIZE on CREATE DATABASE command or portal (post-CTP1) Monthly billing period

Page 30: SQL Azure March 2010

SQL Azure and Windows Azure Table Comparison

SQL Azure Tables Fully structured Strongly typed Relational (RDMS) Highly scalable

Windows Azure Tables Semi-structured Loosely typed Non-Relational (Not RDMS) Massively scalable

Page 31: SQL Azure March 2010

Added new Dynamic Management Views (DMVs) Allows return of state information for health monitoring &

performance tuning sys.dm_exec_connections , _requests , _sessions,

_tran_database_transactions, _active_transactions, _partition_stats

Added ability to move between Web or Business edition ALTER DATABASE database_name { MODIFY (MAXSIZE = {1 | 10}

GB) }

Increased idle session conn timeout (from 5 to 30 minutes) Improves experience while using connection pooling and other

interactive tools

Improved long running transaction algorithm Allows import and export of much larger amounts of data without

having to chunk your data

Recently Added (Feb 2010)

Page 32: SQL Azure March 2010

Partitioned databases Geo-location and geo-redundancy Distributed query Security w/AD, WLID, etc Support for multiple levels of hardware and software isolation

BI features – SSRS, etc…

SQL AzureOpportunities and Futures

Page 33: SQL Azure March 2010

Windows Azure Platform - http://www.azure.com/

Windows Azure Platform Training Kithttp://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en

MSDN Development Centerhttp://msdn.microsoft.com/en-us/sqlserver/dataservices

Team Blog - http://blogs.msdn.com/ssds

Want to Know More?

Page 34: SQL Azure March 2010

Lynn LangitBlog: http://blogs.msdn.com/SoCalDevGalTwitter: @llangit

Contact Me