Download presentation
Presentation is loading. Please wait.
Published byLuca Passey Modified over 10 years ago
1
SQL AZURE Eric Nelson Application Architect, Microsoft http://bit.ly/ericnelsonhttp://bit.ly/ericnelson | http://twitter.com/ericnel http://twitter.com/ericnel Eric.nelson@microsoft.com
2
SQL AZURE Extending SQL Server to the Cloud Database Sync Service Reporting
3
SQL AZURE DATABASE
4
SQL AZURE DATABASE SERVICE SQL Azure provides logical SQL Server Looks like SQL Server to TDS Client Actual data stored on multiple backend data nodes Logical optimisations supported Indexes, Query plans etc.. Physical optimisations not supported File Groups, Partitions etc… Transparently manages physical storage
5
WORKING WITH SQL AZURE DATABASES SQL Azure TDS SQL Azure TDS Your App Change Connection String
6
BEHIND THE SCENES OF SQL AZURE Application Internet LB TDS (tcp) Apps use standard SQL client libraries: ODBC, ADO.Net, PHP, … Load balancer forwards ‘sticky’ sessions to TDS protocol tier Security Boundary Gateway Scalability and Availability: Fabric, Failover, Replication, and Load balancing SQLSQLSQLSQL SQLSQL Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to backend SQL
7
APPLICATION TOPOLOGIES From Windows Azure From Outside Microsoft Datacenter From Windows Azure & Outside Microsoft Datacenter Application / Browser Windows Azure SQL Azure Code Near App Code / Tools SQL Azure Microsoft Datacenter Code Far Hybrid Microsoft Datacenter SQL Azure SQL Server Microsoft Datacenter Windows Azure SQL Azure Data Sync App Code / Tools
8
DEMO
9
CONNECTING TO SQL AZURE SQL Azure connection strings follow normal SQL syntax Applications connect directly to a database “Initial Catalog = ” in connection string No support for context switching (no USE ) Encryption security Set Encrypt = True, only SSL connections are supported TrustServerCertificate = False, avoid Man-In-The-Middle-Attack! Format of username for authentication: ADO.Net: Data Source=server.database.windows.net; User ID=user@server;Password=password;... Setup your firewall rules first!
10
SQL AZURE COMPATIBILITY Currently Supported Tables, indexes and views Stored Procedures Triggers Constraints Table variables, session temp tables (#t) Spatial types Not Currently Supported Data Types XML, HierarchyId, Sparse Columns, Filestream Partitions Full-text indexes SQL-CLR Tables require clustered indexes
11
DATABASE EDITIONS You specify Web or Business Edition Web: EDITION = web Business: EDITION = business You specify MAXSIZE Web: MAXSIZE = 1GB | 5GB Business: MAXSIZE = 10GB | 20GB | 30GB | 40GB | 50GB This is the maximum size we will not let you grow beyond You will only be charged for the actual peak size in any one day rounded up For example, a 3.4 GB Web Edition will be charged 5GB rate. CREATE DATABASE foo1 (EDITION='business', MAXSIZE=50GB); CREATE DATABASE foo2 (EDITION='business', MAXSIZE=30GB); ALTER DATABASE foo2 MODIFY (EDITION='web', MAXSIZE=5GB);
12
DATABASE EDITIONS Two SQL Azure Database SKUs: Web & Business Web Edition: 1 GB @ £6.055/month 5 GB @ £30.275/month Business Edition: 10 GB @ £60.604 20 GB @ £121.208 30 GB @ £131.812 40 GB @ £242.416 50 GB @ £303.20
13
DEMO
14
SQL AZURE DATA SYNC
15
Powers movement of data Cloud cloud On-premises cloud Getting data where you need it Sync SQL Azure instances Sync SQL Server to SQL Azure Sync offline apps to SQL Azure Enable geo-replication of data Sync SQL Azure
16
SQL AZURE DATA SYNC – ROADMAP On-Premises (Headquarters) Sync Remote Offices Data Sync Service For SQL Azure Retail Stores Sync SQL Azure Database Sync CTP1 CTP2
17
TOP FEATURES Service scales as resources requirements grow No-Code Sync Configuration Schedule Sync Conflict Handling Logging and Monitoring Data sub-setting
18
DEMO
19
SQL AZURE REPORTING
20
CTP – you can register Based on SQL Server Reporting Services 2008 R2 Exactly same report formats (no custom extensions yet) Use BI Development Studio Reports run on Windows Azure Platform Report Viewer control using remote processing mode Only reports against SQL Azure Database
21
SUMMARY SQL Azure Database: hassle free fault tolerance with little to learn SQL Azure Data Sync: Helping build geographically disperse or hybrid applications SQL Azure Reporting: Reporting Services in the Cloud
22
APPENDIX
23
LATENCY AND TIMEOUTS
24
LATENCY Service Request App Data App Consistent and accepted latencies On premises application Files Service Request App Data Latency App Increases in quantity and variability of latencies Cloud based application Latency Blob TIP: Expect Web Role to SQL Azure to take about twice as long
25
TIMEOUT Service Request App Data Timeouts? App Increased likelihood of timeouts Cloud based application Service Request App Data App Consistent, reliable connectivity and access On premises application Yes No Yes No Tried 5 times? Connection Successful? Try to connect Continue doing work Fail
26
TIMEOUT RETRY CODE EXAMPLE
28
TIP: There is a new code library for all this!
29
DATA SENSITIVITY
30
Purchasing Database Product catalogue Secure Transaction (Service Bus) Segmentation Online Shop Product catalogue
31
Contact ID Social Security # Customer Credit Card # Other Information Shipping Information Last Name First Name Contact ID On Premises Cloud Sharding Customer Credit Card # Shipping Information Last Name First Name Contact ID Social Security # Billing Data Other Information On Premises
32
Customer Credit Card # Shipping Information Last Name First Name Contact ID Social Security # Billing Data Other Information On Premises £!”$&$%!&£% £”$&!%*^(& !£$&!%£&%* ^$”$&%$”& Shipping Information Last Name First Name Contact ID On Premises Cloud Encryption
33
DATA CHOICES
34
YOU HAVE MANY CHOICES FOR DATA Relational Database Structured Storage Unstructured Storage NTFS Drive Service Communication
35
SIDE BY SIDE EVALUATION Single BlobDriveQueueTable Single SQL Azure Database Structured DataYY Relational DatabaseY Server Side ProcessingY Direct Access from outside Azure YYYY Messaging InfrastructureY Persistent StorageYY1 weekYY Size Limit 200 GB/ 1 TB 1 TB100 TB 50 GB (*)
36
AZURE TABLE AND SQL AZURE TABLE FeatureAzure TableSQL Azure Table Partitioning & Scale Implicit based on Partition KeyExplicitly managed by the Application (Sharding – future feature) Index Capabilities Table indexed on Partition Key + Row Key 0 Secondary Indexes 1 Clustered Index on any column 999 Secondary Indexes Table Limits Row Size – 1 MB Column Limit – 255 Table Limit – 100TB Row Size – 8MB Column Limit – 1024 Table Limit - ~50GB Transactions Transactions on entities within partition No Transactions across tables or partitions Up to 100 operations in a Transaction Payload upto 4MB per Transaction Fully compatible transactional semantics with SQL Server. No cross Database transactions Consistency Model Transactionally Consistent ConcurrencySingle Optimistic Concurrency Strategy Full range of isolation and concurrency models as supported by RDBMS
37
AZURE TABLE AND SQL AZURE TABLE FeatureAzure TableSQL Azure Data Access REST API, ADO.NET, Client Library SDK Standard tools and APIs apply SSMS, Visual Studio, ADO.NET, ODBC Column Types Basic TypesUsual SQL Server Data Types Portability Data portability coming with Windows Azure Appliance Data in SQL Azure similar to SQL Server -Easy migration in and out of the cloud -Use multi stream transfer to mitigate network latency. Queries Upto 1000 entities [token pagination] Beyond 5 sec – return continuation token Queries by partition & row key are fast No Custom Indexes Today Non key queries are scans Query capabilities as per standard SQL Server database expectations Offer Server Side Processing through Stored Procedures and Complex Queries (Aggregation, Joins, Sorts, Filters, etc.)
38
EXAMPLE: REGISTRY/CONFIGURATION/USER SETTINGS A traditional set of data that is traditionally stored on the local environment is configuration and user settings. Commonly this is stored in the registry, xml or ini files. OptionsBest Case Usage Blob storageConfiguration file that is read only once during app load SQL databaseUsed in environments where a SQL database already exists Windows Azure tableUser settings that may be changed externally from the environment
39
REPORTING
40
SERVER: NETWORK ACCESS CONTROL Each server defines a set of firewall rules Determines access policy based on client IP By default, there is NO ACCESS to server Controlled using Firewall API (masterDB) sys.firewall_rules, sys.sp_merge_firewall_rule and sys.sp_delete_firewall_rule
41
SERVER: BILLING AND REPORTING Usage metrics from views: sys.bandwidth_usage sys.database_usage Bandwidth shows ingress/egress/type in KB Database shows number/type
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.