Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologiche a supporto del database


Published on

L’obiettivo è quello di fare una panoramica dello stato dell’arte sulle tecnologie a supporto dei database. Alcuni esempi sono la tecnologia in-memory integrata con le funzionalità di analisi operative in tempo reale e della tecnologia Always Encrypted per la protezione dei dati utilizzati in locale o durante gli spostamenti. La tecnologia in-memory consente di migliorare di 30 volte le performance delle transazioni utilizzando hardware standard di settore. Inoltre i Big Data e l'analisi sono diventati un importante fattore di differenziazione competitivo, ma la gestione delle enormi quantità di dati correlate a un tempo di attività 24 ore su 24 continua a essere una sfida per l'IT. Oggi è più importante che mai soddisfare a livello aziendale l'esigenza di prestazioni, disponibilità e sicurezza efficace per gestire carichi di lavoro mission-critical a un costo contenuto. Le soluzioni Microsoft fissano un nuovo standard nelle performance mission-critical.

Published in: Education
  • Be the first to comment

  • Be the first to like this

2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologiche a supporto del database

  1. 1. SQL Server 2016 Everything Built-In – Technical Overview
  2. 2. SQL Server 2008 SQL Server 2008 R2 SQL Server 2000XML ● KPIs Compression ● Policy-Based Mgmt ● Programmability PowerPivot ● SharePoint Integration ● Master Data Services SQL Server 2012 AlwaysOn ● ColumnStore Index ● Data Quality Services ● Power View ● Cloud Connectivity SQL Server 2014 In-Memory Across Workloads ● Performance & Scale ● Hybrid Cloud Optimized ● HDInsight ● Cloud BI Management Studio ● Mirroring SQL Server 2005 SQL Server 2016 Enhanced Always On ● In-Memory OLTP ● Stretch DB ● Temporal Tables ● Enhanced Backup to Cloud ● Polybase ● Real- Time Operational Analytics ● Row-Level Security ● Query Store ● R Services● Always Encrypted ● Mobile BI The evolution of Microsoft SQL Server
  3. 3. How we develop SQL Cloud-first but not cloud-only Use SQL Database to improve core SQL Server features and cadence Many interesting and compelling on-premises  cloud scenarios SQL Server and APS Azure SQL Virtual Machines Azure SQL Database Azure SQL Data Warehouse
  4. 4. In-Memory OLTP enhancements
  5. 5. Columnar index Inmemory OLAP Inmemory OLTP
  6. 6. ALTER TABLE Sales.SalesOrderDetail ALTER INDEX PK_SalesOrderID REBUILD WITH (BUCKET_COUNT=100000000) ALTER support Full schema change support: add/alter/drop column/constraint Add/drop index supported Performance The ALTER TABLE syntax is used for making changes to the table schema, as well as for adding, deleting, and rebuilding indexes Indexes are considered part of the table definition Key advantage is the ability to change the BUCKET_COUNT with an ALTER INDEX statement
  7. 7. CREATE PROCEDURE [dbo].[usp_1] WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER AS BEGIN ATOMIC WITH ( TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english' ) SELECT c1, c2 from dbo.T1 END GO ALTER PROCEDURE [dbo].[usp_1] WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER AS BEGIN ATOMIC WITH ( TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english' ) SELECT c1 from dbo.T1 END GO You can now perform ALTER operations on natively compiled stored procedures using the ALTER PROCEDURE statement Use sp_recompile to recompile stored procedures on the next execution Altering natively compiled stored procedures Performance
  8. 8. Transact-SQL Full support for all Collation and Unicode Support (var)char columns can use any code page supported by SQL Server Character columns in index keys can use any SQL Server collation Expressions in natively compiled modules as well as constraints on memory- optimized tables can use any SQL Server collation Scalar User-Defined Functions for In-Memory OLTP Create, drop, and alter natively compiled, scalar user-defined functions Native compilation improves performance of the evaluation of UDFs in T-SQL Performance
  9. 9. Cross-Feature Support System-Versioned Temporal Tables Query Store Row-Level Security (RLS) Multiple Active Result Sets (MARS) Transparent Data Encryption (TDE) Performance
  10. 10. In SQL Server 2016, the storage for memory- optimized tables will be encrypted as part of enabling TDE on the database Simply follow the same steps as you would for a disk-based database Support for Transparent Data Encryption (TDE) Windows Operating System Level Data Protection SQL Server Instance Level User Database Level Database Encryption Key Service Master Key DPAPI encrypts the Service Master Key Master Database Level Database Encryption Key Service Master Key Encrypts the Database master Key for the master Database Database Master Key of the master Database creates a certificate in the master database The certificate encrypts the database Encryption Key in the user database The entire user database is secured by the Datbase Encryption Key (DEK) of the user database by using transparent database encryption Created at a time of SQL Server setup Statement: CREAT MASTER KEY… Statement: CREATE CERTIFICATE… Statement: CREATE DATABASE ENCRYPTION KEY… Statement: ALTER DATABSE… SET ENCRYPTION Performance
  11. 11. New Transaction Performance Analysis Overview report New report replaces the need to use the Management Data Warehouse to analyze which tables and stored procedures are candidates for in-memory optimization Performance
  12. 12. Temporal Tables Query back in time
  13. 13. Data changes over time Tracking and analyzing changes is often important Temporal in DB Automatically tracks history of data changes Enables easy querying of historical data states Advantages over workarounds Simplifies app development and maintenance Efficiently handles complex logic in DB engine Why temporal Time travel Data audit Slowly changing dimensions Repair record-level corruptions Performance
  14. 14. No change in programming model New Insights INSERT / BULK INSERT UPDATE DELETE MERGE DML SELECT * FROM temporal Querying How to start with temporal CREATE temporal TABLE PERIOD FOR SYSTEM_TIME… ALTER regular_table TABLE ADD PERIOD… DDL FOR SYSTEM_TIME AS OF FROM..TO BETWEEN..AND CONTAINED IN Temporal Querying ANSI 2011 compliant Performance
  15. 15. Temporal table (actual data) Insert / Bulk Insert * Old versions Update */ Delete * How does system-time work? History table Performance
  16. 16. Temporal table (actual data) Temporal queries * (Time travel, etc.) How does system-time work? History table Regular queries (current data) * Include historical version Performance
  17. 17. Always Encrypted
  18. 18. Data disclosure prevention Client-side encryption of sensitive data using keys that are never given to the database system Queries on encrypted data Support for equality comparison, including join, group by, and distinct operators Application transparency Minimal application changes via server and client library enhancements Allows customers to securely store sensitive data outside of their trust boundary. Data remains protected from high-privileged, yet unauthorized, users. The need for Always Encrypted Security
  19. 19. trust boundary "SELECT Name FROM Customers WHERE SSN = @SSN","111-22-3333" How it works Help protect data at rest and in motion, on-premises and in the cloud Name Wayne Jefferson ADO .NET Name 0x19ca706fbd9a Result SetResult Set Client Name SSN Country 0x19ca706fbd9a 0x7ff654ae6d USA SQL Server or SQL Database "SELECT Name FROM Customers WHERE SSN = @SSN",0x7ff654ae6d ciphertext Encrypted sensitive data and corresponding keys are never seen in plaintext in SQL Server dbo.Customers ciphertext Security
  20. 20. Randomized encryption Encrypt('123-45-6789') = 0x17cfd50a Repeat: Encrypt('123-45-6789') = 0x9b1fcf32 Allows for transparent retrieval of encrypted data but NO operations More secure Deterministic encryption Encrypt('123-45-6789') = 0x85a55d3f Repeat: Encrypt('123-45-6789') = 0x85a55d3f Allows for transparent retrieval of encrypted data AND equality comparison E.g. in WHERE clauses and joins, distinct, group by Two types of encryption available Randomized encryption uses a method that encrypts data in a less predictable manner Deterministic encryption uses a method that always generates the same encrypted value for any given plaintext value Types of encryption for Always Encrypted Security
  21. 21. Dynamic Data Masking
  22. 22. Configuration made easy in new Azure portal Policy-driven at table and column level, for defined set of users Data masking applied in real time to query results based on policy Multiple masking functions available, such as full or partial, for various sensitive data categories (credit card numbers, SSN) SQL Database SQL Server 2016 Table.CreditCardNo 4465-6571-7868-5796 4468-7746-3848-1978 4484-5434-6858-6550 Real-time data masking, partial masking Prevent abuse of sensitive data by hiding it from users Security Dynamic Data Masking
  23. 23. Regulatory compliance Sensitive data protection Agility and transparency Data is masked on the fly, with underlying data in database remaining intact (transparent to application and applied according to user privilege) Limit access to sensitive data by defining policies to obfuscate specific database fields, without affecting database integrity Security Benefits of Dynamic Data Masking
  24. 24. Dynamic data masking walkthrough ALTER TABLE [Employee] ALTER COLUMN [SocialSecurityNumber] ADD MASKED WITH (FUNCTION = ‘SSN()’) ALTER TABLE [Employee] ALTER COLUMN [Email] ADD MASKED WITH (FUNCTION = ‘EMAIL()’) ALTER TABLE [Employee] ALTER COLUMN [Salary] ADD MASKED WITH (FUNCTION = ‘RANDOM(1,20000)’) GRANT UNMASK to admin1 1) Security officer defines dynamic data masking policy in T-SQL over sensitive data in Employee table 2) Application user selects from Employee table 3) Dynamic data masking policy obfuscates the sensitive data in the query results SELECT [Name], [SocialSecurityNumber], [Email], [Salary] FROM [Employee] Security
  25. 25. Row-Level Security SQL Server 2016 SQL Database
  26. 26. Nurse Database One Policy manager creates a filter predicate and security policy Two App user (e.g., nurse) selects from Patients table Three Security Policy transparently rewrites query to apply filter predicate CREATE FUNCTION dbo.fn_securitypredicate(@wing int) RETURNS TABLE WITH SCHEMABINDING AS return SELECT 1 as [fn_securitypredicate_result] FROM StaffDuties d INNER JOIN Employees e ON (d.EmpId = e.EmpId) WHERE e.UserSID = SUSER_SID() AND @wing = d.Wing; CREATE SECURITY POLICY dbo.SecPol ADD FILTER PREDICATE dbo.fn_securitypredicate(Wing) ON Patients WITH (STATE = ON) Filter Predicate: INNER JOIN… Security Policy Application Patients SELECT * FROM Patients SELECT * FROM Patients SEMIJOIN APPLY dbo.fn_securitypredicate(patients.Wing); SELECT Patients.* FROM Patients, StaffDuties d INNER JOIN Employees e ON (d.EmpId = e.EmpId) WHERE e.UserSID = SUSER_SID() AND Patients.wing = d.Wing; Security RLS in three steps Policy Manager
  27. 27. -- The following syntax creates a security policy with a filter predicate for the Customer table, and leaves the security policy disabled CREATE SECURITY POLICY [FederatedSecurityPolicy] ADD FILTER PREDICATE [rls].[fn_securitypredicate]([CustomerId]) ON [dbo].[Customer]; -- Create a new schema and predicate function, which will use the application user ID stored in CONTEXT_INFO to filter rows. CREATE FUNCTION rls.fn_securitypredicate (@AppUserId int) RETURNS TABLE WITH SCHEMABINDING AS RETURN ( SELECT 1 AS fn_securitypredicate_result WHERE DATABASE_PRINCIPAL_ID() = DATABASE_PRINCIPAL_ID('dbo') -- application context AND CONTEXT_INFO() = CONVERT(VARBINARY(128), @AppUserId); GO Creates security policy for row-level security The following examples demonstrate use of CREATE SECURITY POLICY syntax For an example of a complete security policy scenario, see Row-Level Security Create security policy Security
  28. 28. Capability Row-Level Security provides fine-grained access control over rows in a table based on conditions you set up Benefits Store data for many users in same databases and tables while limiting access by other users who share same tables Security Summary: Row-Level Security
  29. 29. Security enhancements Built-in tools for enabling compliance: SQL Server audit tools Create server audits, with server audit specifications (audited events can be written to event logs or to audit files) User-defined audit: Allows middle-tier application to write custom events into audit log, which enables more flexibility to store audit information Audit filtering: Provides greater flexibility to filter wanted events in audit log Audit resilience: Audit logging is now tolerant to loss of connectivity to target directory and will recover automatically once network connection is re-established Security
  30. 30. Azure Key Vault support Azure Key Vault: Central key management that leverages hardware security modules (HSMs), separation of key management from data management Support for AKV available through SQL Server Connector for AKV Extensible Key Management (EKM) provider for SQL Server Leverage Azure Key Vault for managing encryption keys Both on-premises and SQL Server-in-a-VM users can assume control of encryption keys for Transparent Data Encryption (TDE), Column Level Encryption (CLE), and Backup Encryption while leveraging additional security benefits of Azure Key Vault Security
  31. 31. Transparent Data Encryption (TDE) Encrypt data when it is stored on disk, and decrypt it when read into memory Developers can encrypt database files, log files, and backup files without changing existing applications Intel AES-NI hardware encryption acceleration Support for storage of memory-optimized OLTP tables (new) Exclusive to SQL Server Enterprise edition Security
  32. 32. Transparent Data Encryption (TDE) Encrypt backup by specifying encryption algorithm and encryptor Supports on-premises and Azure storage locations Configurable for Managed Backup to Windows Azure Backup encryption now supported with compression, using AES- NI hardware acceleration Security
  33. 33. Summary: Security Always encrypted: Sensitive data always encrypted (and queryable) Dynamic Data Masking: Real-time obfuscation of data Row-Level Security: Fine-grained access control of table rows Audit success/failure of database operations TDE support for storage of In-Memory OLTP tables Enhanced auditing for OLTP with ability to track history of record changes Security
  34. 34. AlwaysOn  Failover on SQL Server instance level  Shared storage (SAN/SMB)  Failover can take minutes based on load  Multi-node clustering  Passive secondary nodes  Failover on database level  Direct attached storage  Failover takes seconds  Multiple secondaries  Active secondaries Availability Failover Cluster Instances for servers Availability Groups for groups of databases
  35. 35. WSFC node WSFC node Failover Cluster Instances Server failover Shared storage Multi-node clustering Passive secondary nodes Failover in minutes SQL Server 2016 Shared storage SQL Server 2016SQL Server Failover Cluster Instance Availability
  36. 36. Availability Group Listener Availability Groups Multi-database failover Direct attached storage Multiple secondaries Active secondaries Failover in seconds SQL Server 2016 SQL Server 2016SQL Server 2016 Availability
  37. 37. Availability Groups + Failover Clustering AlwaysOn: Failover Cluster Instances and Availability Groups work together to ensure data is accessible despite failures Availability Windows Server Failover Clustering (WSFC) Cluster Network Subnet Network Subnet Node NodeNodeNodeNode SQL Server Instance SQL Server Instance SQL Server Instance AlwaysOn SQL Server Failover Cluster Instance Primary Replica Secondary Replica Secondary Replica Secondary Replica AlwaysOn Availability Group Instance Network Name WSFC Configuration WSFC Configuration WSFC Configuration WSFC Configuration WSFC Configuration Instance Network Name Instance Network Name Instance Network Name Availability Group Listener Virtual Network Name Storage Storage Storage Share Storage
  38. 38. PolyBase for SQL Server 2016
  39. 39. Interest in big data spurs customer demand Adoption of big data technologies like Hadoop Increase in number and variety of data sources that generate large quantities of data Realization that data is “too valuable” to delete Dramatic decline in hardware cost, especially storage $
  40. 40. PolyBase and queries Provides a scalable, T-SQL-compatible query processing framework for combining data from both universes Access any data
  41. 41. PolyBase View Execute T-SQL queries against relational data in SQL Server and semi-structured data in Hadoop or Azure Blob Storage Leverage existing T-SQL skills and BI tools to gain insights from different data stores Access any data PolyBase View in SQL Server 2016
  42. 42. Access any data PolyBase use cases
  43. 43. Components introduced in SQL Server 2016 PolyBase Engine Service PolyBase Data Movement Service (with HDFS Bridge) External table constructs MR pushdown computation support Access any data Head Node SQL 2016 PolyBase Engine PolyBase DMS
  44. 44. Step 1: Set up a Hadoop cluster… Hortonworks or Cloudera distributions Hadoop 2.0 or above Linux or Windows On-premises or in Azure Access any data Hadoop Cluster Namenode Datanode Datanode Datanode Datanode File System AB 01 01 01 01 File System File System File System
  45. 45. Step 1: …or set up an Azure Storage Blob Azure Storage Blob (ASB) exposes an HDFS layer PolyBase reads and writes from ASB using Hadoop RecordReader/RecordWrite No compute pushdown support for ASB Access any data Azure Azure Storage Volume Azure Storage Volume Azure Storage Volume
  46. 46. Access any data Query relational and non-relational data, on-premises and in Azure T-SQL query Apps SQL Server Hadoop Summary: PolyBase Query relational and non-relational data with T-SQL
  47. 47. Enterprise-grade Analysis Services
  48. 48. Scale and manage Increased productivity Analysis Services themes for SQL Server 2016 Improved productivity and performance
  49. 49. Analysis Services Overview Analysis Services (SSAS) is an online analytical data engine used in decision support and business analytics It provides analytical data for business reports and client applications such as Reporting Services reports, Power BI, Excel, and other third-party data visualization tools SSAS supports two modelling modes—multidimensional and tabular The multidimensional mode also includes a data mining engine
  50. 50. Analysis Services Overview One Semantic Model - Two Ways to Develop Dimensions and measure groups Highly scalable and mature Feature rich and complex Multidimensional models Tables and relationships Fast by design with in-memory Easy to get started and simple Tabular models
  51. 51. Analysis Services Architectural Overview BI SEMANTIC MODEL Data access Use SQL Server Data Tools for Visual Studio to create BI semantic models DATA SOURCES CLIENT TOOLS Data model Business logic Queries
  52. 52. Reporting Services Overview Reporting Services (SSRS) delivers enterprise, web-enabled reporting functionality Implemented as a Report Server, in one of two modes—Native and SharePoint—it can scale to support thousands of users SSRS 2016 is extended with a new capability to deliver mobile reports, and is enhanced with a new modern web portal To contrast classic RDL reports with the new mobile reports, SSRS reports are now referred to as either paginated or mobile
  53. 53. Reporting Services architecture Web APIs Report server database Web portal Web browsers Power BI Mobile Report Builder Mobile Report Publisher Visual Studio SQL Server SQL Server Analysis Services Oracle Teradata ODBC, OLE DB More/custom Processing and rendering Scheduling and delivery Email File share SharePoint Power BI Custom REPORT VIEWING (PCs, mobile) REPORT DESIGN (PCs) REPORT SERVER DATA SOURCES REPORT DELIVERY DESTINATIONS Custom apps/LOB
  54. 54. SQL Server 2016 Enhanced analysis Modern reports Rich tools Mobile reports Hybrid BI SharePoint 2016 support
  55. 55. New SSRS Features Supports the current versions of Microsoft.NET Framework 4 This includes 4.0 and 4.5.1 If no version of .NET Framework 4.x is installed, SQL Server setup installs .NET 4.0 during the feature installation Render paginated reports as PowerPoint files Text boxes and images render as PowerPoint text boxes and images Data visualizations render as images The PowerPoint slide layout can be adjusted to suit, by moving and resizing individual objects
  56. 56. New SSRS Features Ability to deliver subscriptions by using a single file share account, reusable across multiple subscriptions Pin report items to Power BI dashboards Requires registering the Report Server with Power BI Can pin charts, gauge panels, maps and images, and configure how often the data is refreshed Dashboard tile refresh is achieved with subscriptions Supported by all SQL Server editions Support of SharePoint mode for SharePoint 2016
  57. 57. New SSRS Features Paginated report authoring: Custom parameter pane, allowing design-time control over report parameter layout Two new chart types: Tree Map and Sunburst charts, which effectively visualize hierarchical data Report Builder Now has a new modern look and feel, with streamlined UI elements Supports High DPI (Dots Per Inch) scaling and devices
  58. 58. New SSRS Features Updated data source support: Oracle Database 12c (uses ODP.NET) Oracle Essbase 11 SAP BW 7.5 Teradata 15 Personalized connection strings: Enables data sources to pass current user name as custom data Data Source=localhost;Initial Catalog=Sales Analysis;CustomData={{ UserID }}
  59. 59. New SSRS Features Key Performance Indicators (KPIs): Deliver visual cues that communicate the amount of progress made toward a goal Typically valuable for teams, managers, and businesses by enabling them to quickly evaluate the progress made toward measurable goals Developed in, and displayed by, the new SSRS web portal Supported by Enterprise edition, and Native mode only
  60. 60. New SSRS Features Key Performance Indicators (KPIs): Enable defining value, goal, status and trend metrics The value, goal and status metrics are single values—typically numeric, though text is also possible The trend metric is designed to use a time series (e.g. monthly values) Values can be sourced from shared datasets, or by manually entered values Datasets can be parameterized Datasets must use caching Cache plans should be used to schedule the refresh Can be configured to launch related content—either a mobile report, or a custom URL The status colors—by default—are green (1), amber (0), or red (-1), and these can be overridden by custom branding
  61. 61. New SSRS Features The web portal is a new HTML5 application that targets modern web standards and modern browsers Report Manager has been removed and the web portal is now the default used to browse/manage/consume the Report Server catalog Stores, manages and secures reports and related assets: Paginated reports Mobile reports Key Performance Indicators (KPIs) Power BI Desktop files Excel workbooks
  62. 62. New SSRS Features Supports custom branding, allowing the customization of logo, web portal colors and a mobile report theme
  63. 63. New SSRS Features PDF replaces ActiveX for remote printing (plug-in free printing) New enhanced subscription management: Easily enable/disable Provide a description User can change the owner
  64. 64. Create interactive mobile reports Responsive experiences for phones and tablets
  65. 65. Consume mobile reports Native apps for all major mobile platforms One mobile app for Power BI and SSRS mobile reports Native mobile experience optimized for touch Keep data up-to-date with real-time query or scheduled data refresh Interact with mobile reports even when disconnected
  66. 66. R integration
  67. 67. Revolution R Enterprise and SQL Big data analytics platform Based on open source R High-performance, scalable, full-featured Statistical and machine-learning algorithms are performant, scalable, and distributable Write once, deploy anywhere Scripts and models can be executed on a variety of platforms, including non-Microsoft (Hadoop, Teradata in-DB) Integration with the R Ecosystem Analytic algorithms accessed via R function with similar syntax for R users (with arbitrary R functions/packages) Advanced analytics Data source integration Parallel external-memory algorithm library Data Compute context integration Resources Requests R scripts + CRAN algorithms
  68. 68. SQL Server 2016 R integration scenario Exploration Use Revolution R Enterprise (RRE) from R integrated development environment (IDE) to analyze large data sets and build predictive and embedded models with compute on SQL Server machine (SQL Server compute context) Operationalization Developer can operationalize R script/model over SQL Server data by using T-SQL constructs DBA can manage resources, plus secure and govern R runtime execution in SQL Server Advanced analytics
  69. 69. R script usage from SQL Server Original R script: IrisPredict <- function(data, model){ library(e1071) predicted_species <- predict(model, data) return(predicted_species) } library(RODBC) conn <- odbcConnect("MySqlAzure", uid = myUser, pwd = myPassword); Iris_data <-sqlFetch(conn, "Iris_Data"); Iris_model <-sqlQuery(conn, "select model from my_iris_model"); IrisPredict (Iris_data, model); Calling R script from SQL Server: /* Input table schema */ create table Iris_Data (name varchar(100), length int, width int); /* Model table schema */ create table my_iris_model (model varbinary(max)); declare @iris_model varbinary(max) = (select model from my_iris_model); exec sp_execute_external_script @language = 'R' , @script = ' IrisPredict <- function(data, model){ library(e1071) predicted_species <- predict(model, data) return(predicted_species) } IrisPredict(input_data_1, model); ' , @parallel = default , @input_data_1 = N'select * from Iris_Data' , @params = N'@model varbinary(max)' , @model = @iris_model with result sets ((name varchar(100), length int, width int , species varchar(30))); Values highlighted in yellow are SQL queries embedded in the original R script Values highlighted in aqua are R variables that bind to SQL variables by name Advanced analytics
  70. 70. Capability Extensible in-database analytics, integrated with R, exposed through T-SQL Centralized enterprise library for analytic models Benefits SQL Server Analytical engines Integrate with R Become fully extensible Data management layer Relational data Use T-SQL interface Stream data in-memory Analytics library Share and collaborate Manage and deploy R + Data Scientists Business Analysts Publish algorithms, interact directly with data Analyze through T-SQL, tools, and vetted algorithms DBAs Manage storage and analytics together Summary: R integration and advanced analytics Advanced analytics
  71. 71. Stretch Database
  72. 72. Ever-growing data, ever-shrinking IT What to do? Expand server and storage Move data elsewhere Delete Massive tables (hundreds of millions/billions of rows, TBs size) Users want/need to retain data indefinitely Cold data infrequently accessed but must be online Datacenter consolidation Maintenance challenges Business SLAs at risk Hybrid solutions
  73. 73. Capability Stretch large operational tables from on-premises to Azure with the ability to query Benefits Stretch SQL Server into Azure Securely stretch cold tables to Azure with remote query processing SQL SERVER 2016 Azure Hybrid solutions
  74. 74. Stretch Database architecture How it works Creates a secure linked server definition in the on-premises SQL Server Targets remote endpoint with linked server definition Provisions remote resources and begins to migrate eligible data, if migration is enabled Queries against tables run against both local database and remote endpoint Remote endpoint Remote data Azure Internetboundary Local database Local data Eligible data Linked servers Hybrid solutions
  75. 75. Queries continue working Business applications continue working without disruption DBA scripts and tools work as before (all controls still held in local SQL Server) Developers continue building or enhancing applications with existing tools and methods Hybrid solutions
  76. 76. Advanced security features supported Data in motion always via secure channels (TLS 1.1/1.2) Always Encrypted supported if enabled by user (encryption key remains on-premises) Row-Level Security and Auditing supported Hybrid solutions
  77. 77. Backup and restore benefits Hybrid solutions DBAs only back up/restore local SQL Server hot data StretchDB ensures remote data is transactionally consistent with local Upon completion of local restore, SQL Server reconciles with remote using metadata operation, not data copy Time of restore for remote not dependent on size of data
  78. 78. Order history Name SSN Date Jane Doe cm61ba906fd 2/28/2005 Jim Gray ox7ff654ae6d 3/18/2005 John Smith i2y36cg776rg 4/10/2005 Bill Brown nx290pldo90l 4/27/2005 Sue Daniels ypo85ba616rj 5/12/2005 Sarah Jones bns51ra806fd 5/22/2005 Jake Marks mci12hh906fj 6/07/2005 Eric Mears utb76b916gi 6/18/2014 Rachel Hogan px61hi9306fj 7/1/2014 Sam Johnson ol43bi506gd 7/12/2014 David Simon tx83hal916fi 7/29/2014 Order history Name SSN Date Jane Doe cm61ba906fd 2/28/2005 Jim Gray ox7ff654ae6d 3/18/2005 John Smith i2y36cg776rg 4/10/2005 Bill Brown nx290pldo90l 4/27/2005 Customer data Product data Order History Stretch to cloud App Query Microsoft Azure  Jim Gray ox7ff654ae6d 3/18/2005 Hybrid solutions