Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
SQL Data Service Overview
1. Eric Nelson
Developer & Platform Group
Microsoft Ltd
eric.nelson@microsoft.com
http://geekswithblogs.net/IUpdateable
http://twitter.com/ericnel
2. Eric Nelson
Developer & Platform Group
Microsoft Ltd
eric.nelson@microsoft.com
http://geekswithblogs.net/IUpdateable
http://twitter.com/ericnel
3. Cloud
101
Microsoft and Cloud
Azure Services Platform
Storage in the Cloud
SQL Data Services + a little Windows Azure Storage
SQL Data Services
Drill down
4. If you were watching carefully – we did a
u-turn on how we surfaced “database in
the cloud” last week. All hail the power of
early adopters...
5. SQL Data Services programming model is...
TSQL over TDS - SqlClient
ODBC, OLEDB, ADO.NET, LINQ to Entities etc.
Exposes most of SQL Server
Beta July, Release November
This session looks at how we are supporting
the above, the limitations, the “cunning plan”
etc.
No code. No demos
6.
7. Run/Store stuff in the cloud -
Somebody else has the data center
Amazon.com key role in Cloud
Computing
Amazon S3 (Simple Storage Service) – objects
Amazon EC2 (Elastic Compute Cloud) – virtual
machines
8. SQL Server Data Services (SSDS) – announced at MIX
08 (March 2008)
“SQL Server in the cloud”
“Code far”
ADO.NET Data Services - part of .NET Framework 3.5
SP1(July 2008)
Not just about Cloud but all about REST
Used by Windows Azure
Being explored by SQL Data Services
Azure Services Platform – announced at PDC 08
(October 2008)
Windows Azure “O.S. for the Cloud”
SQL Services
+ more
13. Azure Storage SQL Data Services
Vision Highly scalable,
highly available
store in the Cloud
Access Uses ADO.NET
Data Services -
REST
Relational? (today) No
Relational? No
(tomorrow)
Analogy
14. Azure Storage SQL Data Services
Vision Highly scalable, Highly scalable,
highly available highly available
store in the Cloud relational store in
the Cloud
Access Uses ADO.NET SqlClient + TSQL
(Use Azure Web Role + ADO.NET
Data Services - Data Services if REST is required)
REST
Yes – but with some
Relational? (today) No
limitations
Yes – with less and
Relational? No
(tomorrow) less limitations
Analogy
15. Azure Storage SQL Data Services
Vision Highly scalable, Highly scalable,
highly available highly available
store in the Cloud relational store in
the Cloud
Access Uses ADO.NET SqlClient + TSQL
(Use Azure Web Role + ADO.NET
Data Services - Data Services if REST is required)
REST
Yes – but with some
Relational? (today) No
limitations
Yes – with less and
Relational? No
(tomorrow) less limitations
RDBMS – as it is
Analogy File System
16. Web Site
Web Site
Web Role
(ASPX, ASMX,
(ASPX, ASMX,
WCF)
(ASPX, WCF)
WCF)
SQL Data Services
L
Easy
B
Worker
Worker
Service
Role
Internet
Your Service
Queue
L
Trickier
B
Blobs
Tables
Storage
Windows Azure Datacenter
17.
18. Symmetric Programming Model Data Hub Aggregation
• Initial services – core RDBMS capabilities as a service (SDS), Data
Sync and Data Hub
• Future Offerings
• Additional data platform capabilities as a service: BI/DSS, DW
• New services: Reference Data, Secure Data Hub
• Enable new uses of data to deliver differentiated business value
19. Clear Feedback: “I want a database in the Cloud”
Familiar SQL Server relational model
Uses existing APIs & tools
Built for the Cloud with availability and scale
Accessible to all from PHP, Ruby, and Java
Focus on combining the best features of SQL Server
running at scale with low friction
20. Application Application Application
Browser Browser
ODBC, OLEDB,
Application Application
SQL Client* ADO.Net PHP,
REST Client REST Client
Ruby, …
Cloud Cloud
Evolves
HTTP+REST
HTTP+REST
HTTP
HTTP
TDS
Windows Azure
Windows Azure
Data Center
Data Center
Web App Web App
REST (Astoria)
SQL Client*
REST Client ADO.Net + EF
REST/SOAP + ACE Model TDS + TSQL Model
SDS Current SDS Next
* Client access enabled using TDS for ODBC,
ADO.Net, OLEDB, PHP-SQL, Ruby, …
21. Web and departmental
5 to 10GB
Strip away blob, many applications < 3GB of
data
ISVs delivering SaaS
Although more to do
New scenarios – data sync
Aggregation of enterprise, partner, desktop &
device data
22. Uses shared infrastructure at SQL database and below
Each user database is replicated to one or more servers (configurable based on SLA)
Client requests are routed to current “primary server” for read and write operations (based on SQL
session)
Security, lockdown and isolation enforced in SQL tier
Highly scalable and state-of-the-art HA technology
Automatic failure detection; client request re-routed to new primary on failure
High SLA guarantee using replication (hot standby replicas)
Automatic management, self-healing and load balancing across shared resource pool
SDS provides provisioning, metering and billing infrastructure
SDS Provisioning - databases, accounts, roles, …, metering and billing
Machine) Data Node (Machine) Data Node (Machine) Data Node
rver SQL Server SQL Server SQL S
User User User User User User User User User User User User
DB3 DB4 DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4 DB1 DB2
Scalability and Availability: Fabric, Failover, Replication, and Load balancing
24. Automatic Load Balancing
3 replicas
Primary and two hot secondary
Can switch primary to a secondary with no
interruption
25. TDS Gateway
Utility Layer
Front-end Node Front-end Node
Billing/Usage Account Protocol Parser Protocol Parser
Database Database
TDS TDS
Gateway Logic Gateway Logic
Roles Session 1 Session 2
Master Cluster
Master Node Master Node
Service Platform
Load Database Partition Manager Partition Manager
Monitoring
Balancing Provisioning
Data Node Data Node
Components Components
Data Cluster
Data Node Data Node Data Node Data Node Data Node
SQL SQL SQL SQL SQL
Mgmt.
Server Server Server Server Server
Mgmt. Mgmt. Mgmt. Mgmt.
Services
Services Services Services Services
Fabric
Fabric Fabric Fabric Fabric
TDS
Fabric Replication
Protocol
26. 1
7 TDS Gateway
Utility Layer
Front-end Node Front-end Node
Billing/Usage Account Protocol Parser Protocol Parser
Database Database
6 2
TDS TDS
Gateway Logic Gateway Logic
Roles Session 1 Session 2
3
4 Master Cluster
8
Master Node Master Node
Service Platform
Load Database Partition Manager Partition Manager
5
Monitoring
Balancing Provisioning
Data Node Data Node
Components Components
Data Cluster
Data Node Data Node Data Node Data Node Data Node
SQL SQL SQL SQL SQL
Mgmt.
Server Server Server Server Server
Mgmt. Mgmt. Mgmt. Mgmt.
Services
Services Services Services Services
Fabric
Fabric Fabric Fabric Fabric
TDS
Fabric Replication
Protocol
27. Value Props:
• Full h/w control – size/scale
• 100% compatibility
Value Props:
• XSPs, Server Ops • Roll-your-own HA/DR/scale
Dedicated
• SQL CLR
• 100% compatibility
SQL Server
Roll-your-own HA/DR/scale
•SQL Server on-premises
•Resource governance @
machine
Resources
•Security @ SQL Server/OS
Value Props:
• Auto HA, Fault-
Tolerance Hosted RDBMS
• Friction-free scale •Hosted SQL Server
• Self-provisioning •Resource governance @ VM
•Security @ SQL Server/OS
• High compatibility
SDS (RDBMS)
•Virtual DB server
•Logical user database (LUDB)
•Resource governance @ LUDB
•Security @LUDB
Shared
“Friction”/Control
Low High
• Deliver unique value propositions to core v1 scenarios
• High compatibility between on/off-premises offering – SQL Data Platform
extension
28. Symmetrical Model
Patterns work for Cloud and On Premise
Common application patterns
Security, schema, code
Logical/policy based administration
V1: Address the needs of 95% or more web and
departmental application
29. In Scope for v1 Out of Scope for v1
Tables, indexes and Distributed
views Transactions
Stored Procedures Distributed Query
Triggers CLR
Constraints Service Broker
Table variables, Spatial
session temp tables (#t) Physical server or
… catalog DDL and views
30. Standard SQL Server 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
31. SDS focus on logical administration
Move to policy based management
Data management, config and availability
HA “out of box”
Transparent failover
DBA role places more focus on policy/logical management
32. Each account has
a billing relationship with Microsoft
owns one or more virtual servers
Each virtual server has
one or more databases including virtual
master
each database limited in size
one or more logins
Each logical database has
one or more SQL users
Server=server1.data.database.windows.net
Database=testDB
Login=ericnel[@server1] (maps to testuser)
33. Exchange Hosted Archive (EHA) is high
scale archival service
Runs on SDS infrastructure
Goes into production in Spring ’09
Rebuilt to address cost and scale issues
http://go.microsoft.com/fwlink/?LinkId=145374
Reduced COGS with increased customer and business benefit:
• Larger scale (e.g. larger customers ~24TB each) • Better query performance for fan-out
• More self-managing (e.g. fault-tolerance) • Faster provisioning of new customers
34. MIX „09 Migration
TechEd WWPC PDC
Mar 09 Apr 09 May 09 Jun 09 Jul 09 Aug 09 Sep 09 Oct 09 Nov 09
Internal Invitation Public Commercial
Adoption CTP CTP Availability
Invitation CTP – On-board invitation-only customers + some current
Public CTP – On-board all early adopters
Commercial Availability with Windows Azure in 2009
35. Partitioned databases
Move management from application into service
Distributed query
Fan-out over partitions or collection of database instances
Security
SQL Login support federated with AD, WLID, …
SaaS
Schema management and deployment
Billing-on-behalf, tenant provisioning and management
Consolidation “dial”
Part of server (current), whole server, set of servers, …
Enable dedicated resource assignment and differentiated SLA
36. Underlying platform is real and in production
Delivery of rich relational database service –
PDC ’09
Relational database is key capability of the
Azure Services Platform
SDS design and architecture supports a wide
range of scenarios
37. 2009 • Play with Windows Azure – http://www.azure.com
• Do not play with SDS just yet
• Invest time in ADO.NET Data Services (3.5 SP1)
“Learn”
• Invest time in LINQ, Entity Framework
• Watch the MIX 09 recordings http://live.visitmix.com
2010 • Live applications running on Azure Services Platform
• (There already are e.g.
http://www.aws.net/services/cloud-services/case-
“Do” study )
38. Team Blog
http://blogs.msdn.com/ssds
MSDN Development Center
http://msdn.microsoft.com/en-
us/sqlserver/dataservices
My blog
http://geekswithblogs.net/IUpdateable