introduction to sql azure
DESCRIPTION
Introduction to SQL Azure. Orange County SQL User’s Group Adnan Masood www.AdnanMasood.com. Slides courtesy of Lynn Langit – www.socaldevgal.com. Windows Azure Platform. Compute: Virtualized compute environment based on Windows Server Storage: Durable, scalable, & available storage - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/1.jpg)
1
Introduction to SQL Azure
Orange County SQL User’s Group
Adnan Masoodwww.AdnanMasood.com
Slides courtesy of Lynn Langit – www.socaldevgal.com
![Page 2: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/2.jpg)
2
Windows Azure PlatformCompute: Virtualized compute environment based on Windows Server
Storage: Durable, scalable, & available storage
Management: Automated, model-driven management of the service
Database: Relational processing for structured/unstructured data
Service Bus: General purpose application bus
Access Control: Rules-driven, claims-based access
control
![Page 3: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/3.jpg)
3
Extending SQL Data Platform to Cloud
Initial ServicesDatabase – Core SQL Server database capabilities
Future ServicesData Sync – Enables the sync framework (soon after PDC)Additional SQL Server capabilities available as a service: Business Intelligence and ReportingNew services: Reference Data and Secure Data Hub
SQL Azure Database
Data SyncReference DataReporting Business
Intelligence
Symmetric Programming Model Data Hub Aggregation
![Page 4: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/4.jpg)
4
Microsoft SQL Azure
Familiar SQL Server relational modelUses existing APIs & toolsFriction free provisioning and reduced managementBuilt for the Cloud with availability and scaleAccessible to all from PHP, Ruby, and Java
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 5: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/5.jpg)
5
The Evolution of SQL Azure
Evol
ves
SQL Azure
TDS + TSQL Model
Web App
SQL Client*
Windows Azure
BrowserApplication
Application
REST Client
REST (Astoria)
ADO.Net + EF
Application
SQL Client*
Cloud
HTTP
HTTP
+RES
T
TDS
* Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …
Data
Cen
ter
ODBC, OLEDB, ADO.Net PHP, Ruby, …
OLD SDS
REST/SOAP + ACE Model
Web App
REST Client
Windows Azure
BrowserApplication
Application
REST Client
HTTP
HTTP
+RES
T
Data
Cen
ter
Cloud
![Page 6: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/6.jpg)
6
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
![Page 7: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/7.jpg)
7
Scenarios for V1Departmental Applications
Simple application built by individual or departmentNeed simple deployment, self-management, IT: “Empowerment and Governance”
Web ApplicationsSmall business or startup that uses the cloud as their ITSimple deployment, self-management, scale on demand
ISVISV hosting software on behalf of customerMulti-tenant support for billing and isolation
Data Hub (Shortly After V1)Sharing and aggregating of data across tiers and across enterprisesCentralized place for data, high scale, sync with existing data sources
![Page 8: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/8.jpg)
8
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
![Page 9: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/9.jpg)
9
Service Provisioning ModelEach account has zero or more servers
Azure wide, provisioned in a common portalBilling instrument
Each server has one or more databasesContains metadata about the databases and usageUnit of authenticationUnit of Geo-locationGenerated DNS based name
Each database has standard SQL objectsUnit of consistencyUnit of multi-tenancyContains Users, Tables, Views, Indices, etc.Most granular unit of billing
Account
Server
Database
![Page 10: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/10.jpg)
10
ArchitectureShared infrastructure at SQL database and below
Request routing, security and isolationScalable HA technology provides the glue
Automatic replication and failoverProvisioning, 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
![Page 11: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/11.jpg)
11
SQL AzureDeployment
Web Portal(API)
SQL AzureTDS
DB Script
![Page 12: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/12.jpg)
12
SQL AzureAccessing databases
Web Portal(API)
SQL AzureTDS
Your App
Change Connection String
![Page 13: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/13.jpg)
13
Database Replicas
Replica 1
Replica 2
Replica 3
DB
Single Database Multiple Replicas
Single Primary
![Page 14: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/14.jpg)
14
Hardware Boundary
Hardware Boundary
Hardware Boundary
Hardware Boundary
Shared Environment
BC
D
A A
B
BC
CD
D
A
![Page 15: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/15.jpg)
15
SQL AzureDatabase Monitoring & Recovery
Web Portal(API)
SQL AzureTDS
Your App !
![Page 16: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/16.jpg)
Programming Model
Small Data SetsUse a single databaseSame model as on premise SQL Server
Large Data Sets and/or Massive ThroughputPartition data across many databasesUse parallel fan-out queries to fetch the dataApplication code must be partition aware in v1
For v1 will publish best practices for scale outPost-v1 we are looking at building an abstraction to hide some of the complexities of partitioning
![Page 17: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/17.jpg)
17
Sharding Databases
1 x 10GB database1 Instances
10 x 1GB databases10 Instances
![Page 18: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/18.jpg)
18
SQL Tooling & Development
Demo
![Page 19: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/19.jpg)
19
Managing your account
![Page 20: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/20.jpg)
20
Viewing database information
![Page 21: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/21.jpg)
21
![Page 22: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/22.jpg)
22
Sample screen – requires VS2010
![Page 23: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/23.jpg)
23
![Page 24: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/24.jpg)
24
Compatibility Goals
Support common application patternsLogical/policy based administrationPatterns work from SQL Server to SQL AzureMulti-tenancy considerations
Throttling and load balancingLimits on DB size, transaction duration, …
V1: Address the needs of the majority of web and departmental application
![Page 25: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/25.jpg)
25
Sample of SQL CompatibilityIn Scope for v1
Tables, indexes and viewsStored ProceduresTriggersConstraintsTable variables, session temp tables (#t)…
Out of Scope for v1Distributed TransactionsDistributed QueryCLRService BrokerSpatialPhysical server or catalog DDL and views
![Page 26: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/26.jpg)
26
Connection Model
Use existing client librariesADO.NET, ODBC, PHP
Client libraries pre-installed in Azure rolesSupport for ASP.NET controlsClients connect directly to a database
Cannot hop across DBs (no USE)
![Page 27: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/27.jpg)
27
Logical vs. Physical Administration
SQL Azure focus on logical administrationSchema creation and managementQuery optimizationSecurity management (Logins, Users, Roles)
Service handles physical managementAutomatically replicated with HA “out of box”Transparent failover in case of failureLoad balancing of data to ensure SLA
DBA role places more focus on logical management
![Page 28: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/28.jpg)
28
DeploymentSupport for basic deployment options
SQL scripts work (but not attach database)Geo-location of Windows Azure compute and SQL Azure DatabasesSupport for Application and multi-server management model
Support for application packagesCloud or on-premise is a deployment time choiceVisibility of data across on-premise and the cloud
Support existing and new forms of deployment
![Page 29: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/29.jpg)
29
Security Model
Uses regular SQL security modelAuthenticate logins, map to users and rolesAuthorize users and roles to SQL objects
Limited to standard SQL Auth loginsUsername + password
Future AD Federation, WLID, etc as alternate authentication protocols
Security model is 100% compatible with on-premise SQL
![Page 30: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/30.jpg)
30
PricingWeb Edition
1 GB Database$9.99 / monthBandwidth
$0.10 /GB inbound$0.15 /GB outbound
Business Edition10GB Database$99.99 / monthBandwidth
$0.10 /GB inbound$0.15 /GB outbound
Specified by MAXSIZE on CREATE DATABASE command or portal (post-CTP1)Can NOT switch betweenen Web and Business EditionsMonthly billing period
![Page 31: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/31.jpg)
31
Platform Readiness (EHA)
Exchange Hosted Archive (EHA) is high scale archival serviceRuns on SQL Azure infrastructure
In production prior to SQL Azure v1Rebuilt to address cost and scale issueshttp://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000003098
Reduced COGS with increased customer and business benefit: Larger scale (e.g. larger customers ~20TB+ each) More self-managing (e.g. fault-tolerance)
Better query performance for fan-out Faster provisioning of new customers
![Page 32: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/32.jpg)
32
SQL AzureOpportunities and Futures
Partitioned databasesGeo-location and geo-redundancyDistributed querySecurity w/AD, WLID, etcSupport for multiple levels of hardware and software isolation
![Page 33: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/33.jpg)
33
Release Plan
SQL Azure Early Adopters CTP – On-board invitation-only early adoptersSQL Azure CTP - Register for an invitation code
Commercial Availability with Windows Azure in 2009
Sign up for our CTP: http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx
MIX ‘09 TechEd WWPC
SQL Azure CTP
Commercial Availability (V1)
Mar 09 May 09 Jul 09 Nov 09Sep 09Apr 09 Jun 09 Aug 09 Oct 09
PDC
InternalAdoption
SQL Azure Early Adopters
WWPC
![Page 34: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/34.jpg)
Key Takeaways
SQL Azure available – PDC ’09
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
![Page 35: Introduction to SQL Azure](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56816786550346895ddca12b/html5/thumbnails/35.jpg)
35
Want to Know More?Windows Azure Platformhttp://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 Bloghttp://blogs.msdn.com/ssds