SQL Azure for SoCalCodCamp


Published on

Deck for SoCalCodeCamp - Jan 2011

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

SQL Azure for SoCalCodCamp

  1. 1. Lynn Langithttp://blogs.msdn.com/SoCalDevGaltwitter - @llangit<br />Ike Ellishttp://EllisTeam.blogspot.comtwitter - @EllisTeam1<br />January 2010 <br />
  2. 2. Windows Azure Platform<br />Compute: Virtualized compute environment <br />Storage: Durable, scalable, & available storage<br />Management: Automated, model-driven management<br />Database:Relational processing for structured/unstructured data – Data Marketplace<br />Service Bus: General purpose application bus<br />Access Control: Rules-driven, claims-based access control<br />
  3. 3. Data Storage Choices<br />On-premise<br /> SQL Server or other s/w on-premise<br /> Resource governance @ machine<br /> Full h/w control – 100% compatibility<br />Roll your own HA/DR/scale<br />Dedicated<br />SQL Azure (RDBMS)<br />Hosted<br />Virtual DB server<br />Resource governance @ LDB<br /> Security @ LDB<br />Auto HA, Fault-Tolerance<br />Self-provisioning<br />High RDMS compatibility<br /> Hosted SQL Server or other<br />Roll-your-own HA/DR/scale<br /> Security @ DB Server/OS<br />Resources<br />Windows Azure <br />Storage<br />Tables<br />Queues<br /> Blobs (also VMs)<br />Shared<br />Low<br />“Friction”/Control<br />High<br />
  4. 4. Application Topologies<br />SQL Server<br />App code/ Tools<br />App code/ Tools<br />Application/ Browser<br /> Data Sync<br />Windows<br />Azure<br />Windows<br />Azure<br />App Code<br />(ASP.NET)<br />App Code<br />(ASP.NET)<br />T-SQL / TDS<br />App Code<br />(ASP.NET)<br />App Code<br />(ASP.NET)<br />TSQLTDS<br />TSQLTDS<br />SQL Azure <br />SQL Azure <br />SQL Azure <br />Code Far<br />Code Near<br />Hybrid<br />
  5. 5. Database Replicas<br />Multiple Physical Replicas<br />Replica 1<br />Single Primary<br />Single Logical Database<br />Replica 2<br />DB<br />Replica 3<br />
  6. 6. Logical vs. Physical<br />
  7. 7. SQL Azure focus on logical administration<br />Schema creation and management<br />Query optimization<br />Security management (Logins, Users, Roles)<br />Service handles physical management<br />Automatically replicated with HA “out of box”<br />Transparent failover in case of failure<br />Load balancing of data to ensure SLA<br />Logical vs. Physical Administration<br />DBA role places more focus on logical management<br />
  8. 8. Customer Evidence<br />
  9. 9. Demo – SQL Azure Portal<br />
  10. 10. Demo– DB Manager - Tables<br />
  11. 11. Demo– DB Manager – Stored Procs<br />
  12. 12. Each account has zero or more servers<br />Azure wide, provisioned in a common portal<br />Billing instrument<br />Each server has one or more databases<br />Contains metadata about the databases and usage<br />Unit of authentication<br />Unit of Geo-location<br />Generated DNS based name<br />Each database has standard SQL objects<br />Unit of consistency<br />Unit of multi-tenancy<br />Contains Users, Tables, Views, Indices, etc.<br />Most granular unit of billing<br />Service Provisioning Model<br /> Account<br /> Server<br /> Database<br />
  13. 13. SQL Azure Database Access<br />Web Portal<br />(API)<br />Your App<br />Change Connection String<br />
  14. 14. ADO.NET, ODBC, PHP (NOT OLE DB)<br />Client libraries pre-installed <br />ASP.NET controls<br />Clients connect directly to ONE database<br />Cannot hop across DBs (no USE)<br />May need to include <login>@<server><br />Use familiar tools <br />Use connection pooling for efficiency<br />Connection Model<br />
  15. 15. Firewall Rules<br />
  16. 16. DB Manager Portal (Silverlight)<br />SQL Server Management Studio 2008 R2 <br />Visual Studio 2010 / DACPACs<br />SQLCMD<br />SQL Azure as source data<br />SSRS, SSIS, SSAS 2008 R2<br />SharePoint, Excel, PowerPivot 2010<br />Demo – Connect via tools<br />
  17. 17. SSMS 2008 R2 – Cloud vs. On Premise<br />
  18. 18. Query Optimizer and Client Statistics can be used with SQL Azure data<br />
  19. 19. Feature not yet implemented<br />Physical layer – Microsoft handles it<br />Commodity vs. Business <br />Multi-tenant<br />We must play nice together<br />Compatibility Overview<br />
  20. 20. Maximum single database size is 50GB<br />Database size calculation <br />Includes: primary replica data, objects and indexes<br />Does NOT include: logs, master database, system tables, server catalogs or additional replicas<br />CTP support for auto-partitioning & fan-out queries (Federation) <br />Currently must handle partitioning logic within the application<br />Also called Database ‘sharding’<br />Sharding Utility, using TPL at http://enzosqlshard.codeplex.com/<br />Database Size Limits<br />
  21. 21. Compatibility <br />In Scope<br /><ul><li> Tables, indexes and views
  22. 22. w/ clustered indices
  23. 23. Stored Procedures
  24. 24. Triggers
  25. 25. Constraints
  26. 26. Table variables
  27. 27. Session temp tables
  28. 28. Spatial datatype</li></ul>Out of Scope<br /><ul><li> Distributed Transactions
  29. 29. Distributed Query
  30. 30. CLR
  31. 31. Service Broker
  32. 32. Physical server or catalog DDL and views</li></li></ul><li>Tables (joins) , Views , Stored Procedures, Triggers<br />Indices <br />Index Management<br />Statistics Management<br />Spatial data<br />Local Transactions<br />Supported T-SQL <br /><ul><li>T-SQL elements
  33. 33. Reserved keywords
  34. 34. Create/drop databases
  35. 35. Create/alter/drop tables
  36. 36. Create/alter/drop users and logins
  37. 37. Constants, Constraints, Cursors, Local temporary tables
  38. 38. Table Variables</li></li></ul><li>CLR<br />Database file placement<br />Database mirroring<br />Distributed queries<br />Distributed transactions<br />Filegroup management<br />Full Text Search<br />Unsupported T-SQL <br /><ul><li>Global temporary tables
  39. 39. SQL Server configuration options
  40. 40. SQL Server Service Broker
  41. 41. System tables
  42. 42. Profiler / Trace Flags</li></li></ul><li>Generating, then modifying, the SQL DDL script<br />Loading in the data (bcp, SSIS, etc…)<br />-OR-<br />SQL Azure Migration Wizard<br />http://sqlazuremw.codeplex.com<br />Demo – SQL Migration Wizard<br />
  43. 43. SQL Migration Wizard<br />
  44. 44. What Could Go Wrong?<br />
  45. 45. Progress!<br />
  46. 46. Success!<br />
  47. 47. Remove unsupported features, such as…<br />Migrating By Hand<br /><ul><li>USE DATABASE
  48. 48. ON PRIMARY (Filegroups)
  49. 49. Extended Properties
  51. 51. Various Index options (WITH)
  52. 52. Windows logins
  53. 53. Unsupported XML features
  55. 55. Encrypted Stored Procedures
  56. 56. No Heap tables (all tables must have clustered indices)
  57. 57. UDTs</li></li></ul><li>Advanced Migration<br /><ul><li>Use Scripts and/or Tools
  58. 58. bcp
  59. 59. SSIS
  60. 60. 3rd Party
  61. 61. Guidance from SQLCAT team
  62. 62. Whitepapers
  63. 63. Presentations</li></li></ul><li>3 month release cycle<br />Active CTPs at sqlazurelabs.com<br />OData<br />Data Sync<br />Sign up for 2011 betas on Windows Azure portal<br />SQL Azure Reporting Services<br />Roadmap<br />
  64. 64. Added new Dynamic Management Views (DMVs) <br />Allows return of state information for health monitoring & performance tuning<br />sys.dm_exec_connections, _requests , _sessions, _tran_database_transactions, _active_transactions, _partition_stats<br />Added ability to move between Web or Business edition<br />ALTER DATABASE database_name { MODIFY (MAXSIZE = {1 | 10} GB) }<br />Increased idle session conn timeout (from 5 to 30 minutes)<br />Improves experience while using connection pooling and other interactive tools<br />Improved long running transaction algorithm <br />Allows import and export of much larger amounts of data without having to chunk your data <br />Added - Feb 2010<br />
  65. 65. Addedavailability in 20 more countries (now 41 total)<br />Complete list here <br />Started with 21 countries, now doubled<br />Addedsupport for MARS<br />Simplifies the design process<br />Added support for ALTER (rename) Database<br />Adds features found in RDMS to SQL Azure<br />Included support in Visual Studio 2010 to manage SQL Azure<br />Allows direct management of SQL Azure databases via Server Explorer<br />Also found in SQL Server Management Studio<br />Added new labs feature - sandbox<br />https://www.sqlazurelabs.com/<br />Added - April 2010<br />
  66. 66. Addedupper size limit of 50 GB<br />Available June 28, 2010<br />Initial discount on upgrading maximum size<br />Addedsupport for Spatial Data Types<br />Support for Geography & Geometry data types and queries<br />Support for HierarchyID data types (tree-like database structures)<br />Added support DataSync Service for SQL Azure<br />Initially available in CTP via sqlazurelabs.com<br />Announced SQL Server Web Manager <br />Web-based SQL Azure management tool<br />Initially available as CTP in summer 2010<br />Added Access 10 support for SQL Azure<br />Support from Office 2010 to SQL Azure<br />Added - June 2010<br />
  67. 67. Added Database copy capabilities<br />Same server or cross server<br />CREATE DATABASE DB2A AS COPY OF Server1.DB1A <br />Monitor via sys.dm_database_copies<br />Increased MSDN documentation for common programming scenarios (with code examples)<br />Enhanced Project Houston<br />Supported in multiple data centers<br />View and StoredProc designers added<br />Added - August 2010<br />
  68. 68. ImprovedLightweight Silverlight Management Portal at windows.azure.com<br />AnnouncedBetas<br />SQL Azure Reporting Services<br />SQL Azure Federation<br />SQL Azure Data Sync v 2<br />Added - Nov 2010<br />
  69. 69. Opportunities and Futures<br />Partitioning Utility / Federation<br />Profiler-like traces / deadlock graphs<br />Geo-location and geo-redundancy<br />Distributed query<br />Security w/Active Directory, Windows Live ID, etc<br />Support for multiple levels of hardware and software isolation<br />BI features – SSRS, SSIS, SSAS<br />
  70. 70. What’s Your Idea?<br />
  71. 71. Windows Azure Platform –here<br />Windows Azure Platform Training Kit – here <br />MSDN Development Center – here <br />Team Blogs – SSDS and SQLAzure<br />Want to Know More?<br />
  72. 72. Lynn Langit<br />Blog: http://blogs.msdn.com/SoCalDevGal<br />Twitter- @llangit<br />Ike EllisBlog: http://EllisTeam.blogspot.comTwitter - @EllisTeam1<br />Contact Us<br />
  73. 73. TeachingKidsProgramming.org<br /><ul><li>Do a Recipe  Teach a Kid (Ages 10 ++)
  74. 74. Free Courseware (recipes) Microsoft SmallBasic</li>