Interoperability
Session Objectives and Takeaways Session Objective(s): – Get up to speed on SQL Azure – Learn about the new features in SQL Azure – Demonstration some working features in action – Determine whether SQL Azure is ready for your application
Developer ExperienceDeveloper Experience Use existing skills and toolsUse existing skills and tools The Windows Azure Platform platform AppFabric ComputeStorageManagement Relational data Management Connectivity Access control Reporting & BI Billing & Payments Flexible APIs Information Marketplace
Extending SQL Server to the Cloud Database Data Sync Reporting Business Intelligence Symmetric Programming Model and tools At PDC – core RDBMS capabilities with SQL Azure Database Future Offerings Additional data platform capabilities: Reporting, BI New services: Data and Web Services
SQL Azure – SQL query processor – Familiar relational model – Transactions – Ecosystem of familiar development and management tools – Low-friction provisioning – High scale – Multi-tenant – Self-management – Automatic HA and DR SQL Azure delivers the value of hosted relational database with the differentiated benefits of a managed database as a utility
Customer Scenarios Departmental Collab. Apps Custom Web Applications Packaged LOB Applications
Demo Provisioning & Connecting to SQL Azure
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 SDS Provisioning (databases, accounts, roles, …), Metering, and Billing Machine 5 SQL Instance SQL DB User DB1 User DB2 User DB3 User DB4 Machine 6 SQL Instance SQL DB User DB1 User DB2 User DB3 User DB4 Machine 4 SQL Instance SQL DB User DB1 User DB2 User DB3 User DB4 Scalability and Availability: Fabric, Failover, Replication, and Load balancing
Database Replicas Replica 1 Replica 2 Replica 3 DB Single DatabaseMultiple Replicas Single Primary Multiple Secondaries
Scale Unit Redundant Environment B B C C D D A A A A B B B B C C C C D D D D A A
Connection Model Use existing client libraries – ADO.NET, ODBC, PHP Client libraries pre-installed in Azure roles Support for ASP.NET controls Clients connect directly to a database – Cannot hop across DBs (no USE)
Connection Management Connections may drop due to: – Network connectivity blips – Idle or long running transactions Idle > 30 minutes Long running transactions > 30 minutes – Throttling (taking too many resources) Measured by IO load and CPU utilization – Database failover activity Machine failure: automatic recovery Load balancing used to ensure ‘resource fairness’ DOS protection may deny connectivity: – If too many failed connection attempts are made – The servers running your databases are not impacted by such attacks
Logical vs. Physical Administration 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 DBA role places more focus on logical management
Deployment Support for basic deployment options – SQL scripts work (but not attach database) Co-location of Windows Azure compute and SQL Azure Databases Support for Data Tier Applications – DACPAC is unit of deployment – Cloud or on-premise is a deployment time choice – Visibility of data across on-premise and the cloud Support existing and new forms of deployment
Security Model Uses regular SQL security model – Authenticate logins, map to users and roles – Authorize users and roles to SQL objects Support for standard SQL Auth logins – Username + password Future AD Federation, WLID, etc as alternate authentication protocols Security model is 100% compatible with on-premise SQL
SQL Azure synchronization SQL Azure and oData Demo
What is supported in SQL Azure? Lots of information in – White papers – Blogs – Twitter – Channel9 and YouTube videos BUT – very rapid development – Bimonthly “Service Updates” – “Releases” several times a year Therefore: Use online documentation!
Futures
50 GB SKU Available in SU2 (April) as a preview Preview requires nomination Generally available in SU3 (~June) Pricing being announced
Web based management UI
MARS Support Multiple Active Row Sets Available in SU2 Multiple SQL batches on a single connection Uses connection multiplexing Uses “firehose mode” MARS Enabled Statements SELECT FETCH RECEIVE READTEXT BULK INSERT / BCP ASYNC CURSOR POPULATION
Spatial Overview An industry first – SQL Azure will fully support spatial data in the Cloud. Available in SU3 (June) This will bring native storage and analysis of spatial objects to the Cloud, facilitating next generation mapping and other web applications which need support for location.
Spatial Objects are Features on Maps Streets Streets Freeways Freeways Railway Railway Ferry Route Ferry Route LINESTRING, MULTILINESTRING Streets Streets Freeways Freeways Railway Railway Ferry Route Ferry Route LINESTRING, MULTILINESTRING Buildings Buildings Parks & Gardens Parks & Gardens Public Areas Public Areas Suburbs Suburbs POLYGON, MULTIPOLYGON Buildings Buildings Parks & Gardens Parks & Gardens Public Areas Public Areas Suburbs Suburbs POLYGON, MULTIPOLYGON Traffic lights Traffic lights Railway stations Railway stations Hotels Hotels Points of interest Points of interest Labels Labels POINT, MULTIPOINT Traffic lights Traffic lights Railway stations Railway stations Hotels Hotels Points of interest Points of interest Labels Labels POINT, MULTIPOINT
Spatial Features 2D Vector Data Support for two new data types: – Geography - Round-Earth data (latitude, longitude coordinates) – Geometry - Flat-Earth data (x, y coordinate) Support for Point, Line and Area (Polygon) Objects + collections of such objects Over 70 T-SQL spatial methods High performance spatial indexes Spatial industry standards support Symmetrical feature as in SQL Server 2008
Questions ?