Lynn Langit http://blogs.msdn.com/SoCalDevGal twitter - @llangit
Windows Azure Platform
Compute: Virtualized compute environment
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
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 relational database in the Cloud”
Initial Services Database – Core SQL Server database capabilities
Future Services Data Sync – Enables the sync framework
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
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
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
Database Replicas
Replica 1
Replica 2
Replica 3
DB
Single Database Multiple Replicas
Single Primary
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.
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
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
SQL AzureAccessing databases
Web Portal(API)
SQL AzureTDS
Your App
Change Connection String
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
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
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
*announced at Mix10, future support for 50 GB size in SU3 (June)
Sharding Databases
1 x 10GB database 1 Instances
10 x 1GB databases 10 Instances
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
*announced at Mix10 – Spatial Data Types will be supported soon
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
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
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
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
SQL Azure Migration Wizard
What Could Go Wrong?
Progress!
Success!
Local and Cloud-Based
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) Nothing to install, no SDK required!
Dem0 – SQL Azure application
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
SQL Azure and Windows Azure Storage 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
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)
Added availability in 20 more countries (now 41 total) Complete list here Started with 21 countries, now doubled
Added support for MARS Simplifies the design process
Added support for ALTER (rename) Database Adds features found in RDMS to SQL Azure
Included support in Visual Studio 2010 to manage SQL Azure Allows direct management of SQL Azure databases via Server
Explorer Also found in SQL Server Management Studio
Added new labs feature - sandbox https://www.sqlazurelabs.com/
Recently Added (April 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
Windows Azure Platform – here Windows Azure Platform Training Kit – here
MSDN Development Center – here Team Blogs – SSDS and SQLAzure
Want to Know More?
Lynn LangitBlog: http://blogs.msdn.com/SoCalDevGalTwitter: @llangit
Contact Me