Presentation is loading. Please wait.

Presentation is loading. Please wait.

Real-Time Operational Analytics overview:

Similar presentations


Presentation on theme: "Real-Time Operational Analytics overview:"— Presentation transcript:

1 Real-Time Operational Analytics overview:
9/4/2018 7:54 PM Real-Time Operational Analytics overview: Mission-critical performance with SQL Server 2016 Speaker Name © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Learning objectives Real-Time Operational Analytics overview
9/4/2018 7:54 PM Learning objectives Real-Time Operational Analytics overview Real-Time Operational Analytics with disk-based tables Real-Time Operational Analytics with In-Memory OLTP Summary of improvements Getting started Examples Offloading analytics to AlwaysOn readable secondary Real-Time Operational Analytics use cases Real-Time Operational Analytics demo © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Traditional operational analytics architecture
Microsoft Ignite 2015 9/4/2018 7:54 PM Traditional operational analytics architecture BI analysts BI and analytics Dashboards Reporting Key issues Complex implementation Requirement of two servers (both capital and operational expenditures) Data latency in analytics More business demand that requires real-time analytics Presentation layer SQL Server Analysis Services IIS Server Application tier Objective: This slide explains traditional operational and analytics architecture in the organization. This slide also lists the challenges in this arrangement and approach. Talking points: Transactional processing (OLTP) and analytical processing are traditionally separated and running on different systems. There is a periodic ETL (Extract, Transform, and Load) job that is run periodically to move the data from the operational store to a dedicated store for analytics. This store can be a datamart or full-scale data warehouse for running analytics queries. For efficient analytics, you use ETL to populate either a relation DW or SSAS cubes. This introduces latency (hours or days) in the insight, and these architectures are complex and costly to manage Complexity: implementing ETL can be very complex, especially since you need to identify modified rows to migrate and then load that data into the data warehouse. Cost: you incur the cost of implementing ETL and the additional cost of both hardware and license. Data latency: this solution has inherent data latency for analytics workload. The latency will depend upon how often ETL is run. For example, if you run the ETL job at end of the business day, the analytics will be at least one day old. For many businesses, this data latency in analytics is unacceptable. They require analytics to be done on live data. Fraud-detection is one such application that can leverage real-time analytics on operational data. For these challenges SQL Server 2016 has a solution Real-Time Operational Analytics in SQL Server 2016 enables running analytics queries directly on your operational workload using columnstore indexes In SQL Server 2016, the updateable Columnstore you can add to OLTP tables has limited impact on the operational workload and allows efficient execution of analytics queries. This removes the need to pull analytics out of the operational database, and thus allows running analytics queries on the operational database, thereby allowing users to gain real-time insight into their business. For real-time analytics, (usually multiple) indexes are added to the OLTP tables, and queries are run on the operational database. The additional analytics indexes, as well as the analytics queries, can significantly impact the OLTP workload (this is the reason for the 1. Architectures in the first place) In SQL Server 2016, you need to have only one index for analytics queries, removing the need for the multitude of analytics indexes added previously, and also reducing impact on the OLTP workload. In addition, SQL Server 2016 includes very efficient query execution for Columnstore indexes, thereby further reducing the impact on the OLTP workload. Finally, with 2016 you can query Columnstore indexes on readable secondaries, thereby limiting the impact of analytics on OLTP even further. ETL SQL Server Relational DW SQL Server Hourly, daily, weekly Database Database © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4 Capabilities and benefits
BI and analytics Dashboards Reporting Capabilities Runs analytics queries concurrently with operational workload using same schema Requires no application changes to run data warehouse queries on In-Memory OLTP workload Benefits Minimal impact on OLTP workload Offers best available performance and scalability Offloads analytics workload to readable secondary BI analysts Presentation layer Dashboards Reporting IIS Server SQL Server Analysis Services Application tier Objective: This slide introduces the concept of Real-Time Operational Analytics, and how you can run both analytics and OLTP workloads on the same database tables at the same time.  Talking points: SQL Server 2016 can help everyone struggling with the problem stated in the last slide; the SQL Server contains a solution for allowing the operational database to run analytical queries in real-time. This is possible by allowing you to add analytics-specific updatable columnstore indexes on rowstore tables. The OLTP workload runs against the rowstore table and the analytics workload runs against the columnstore. SQL Server automatically maintains all changes to the indexes, ensuring that OLTP changes are up-to-date for analytics. Combining these factors, it’s possible and practical to run analytics in real-time on up-to-date data. This works for both disk-based and memory-optimized tables. With Real-Time Operational Analytics, you can eliminate both the ETL and the need to maintain a separate data warehouse. This can improve the overall performance of your OLTP workload since there will be fewer indexes to maintain. This is all you need to do. You are now ready to perform Real-Time Operational Analytics without requiring any changes to your application. Analytics queries will run against the columnstore index and OLTP operations will keep running against the b-tree index(s). The OLTP workloads will continue to perform, but will incur some additional overhead to maintain the columnstore index. You can minimize the columnstore index maintenance using a filtered columnstore index; however, analytics queries can still take significant computing resources (CPU, IO, Memory) and thereby impact the performance of operational workload. For most mission critical workloads, the SQL Server recommendation is to use AlwaysOn configuration. In this configuration, you can eliminate the impact of running analytics by offloading it to a readable secondary. SQL Server Database Add analytics-specific indexes

5 Enabling real-time analytics
9/4/2018 7:54 PM Enabling real-time analytics Dashboards Reporting Add columnstore index BI and analytics SQL Server Database Application tier Presentation layer IIS Server Analysis Services OLTP workload Real-time Operational Analytics targets the scenario that has a single data source, such as an enterprise resource planning (ERP) application, and makes it possible to run both operational and analytics workloads. This doesn’t replace the need for a separate data warehouse when: Data from multiple sources must be integrated before running the analytics workload Extreme analytics performance using pre-aggregated data, such as cubes, is required Dashboards Reporting Objective: This slide introduces the intent of Real-Time Operational Analytics and where it cannot be used or replaced. Talking points: Real-Time Operational Analytics targets the scenario where you have single data source such as an ERP application where you can run both the operational workload and analytics workload concurrently. This does not replace the need for a separate data warehouse where you need to integrate data from multiple sources before running an analytics workload or when you require extreme analytics performance-using schemas to be customized (for example, Star/Snowflake) or pre-aggregated data, such as cubes. Also this is not replacement where data is coming from non-relational sources. © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

6 Real-Time Operational Analytics goals
9/4/2018 7:54 PM Real-Time Operational Analytics goals Minimal impact on operational workload with concurrent analytics Performant analytics on operational schema Objective: This slide introduces purpose of developing the Real-Time Operational Analytics options in SQL Server 2016. Talking points: SQL Server 2016 includes several enhancements that are targeted primarily for handling transactional and analytical processing workloads concurrently. It provides the ability to run both analytics and OLTP workloads on the same database tables simultaneously. This is possible by allowing you to create updatable columnstore indexes on rowstore tables. The OLTP workload runs against the rowstore table and the analytics workload runs against the columnstore. Since columnstore indexes operate on a copy of the data, queries against the rowstore and the columnstore can run at the same time with minimal impact on performance. SQL Server automatically maintains all changes to the indexes so OLTP changes are always up-to-date for analytics. All of these factors combined make it possible and practical to run analytics in real-time on up-to-date data. Animation <<first click>> Achieved using columnstore index box with arrow appears Achieved using columnstore index © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7 Real-Time Operational Analytics with disk-based tables
9/4/2018 7:54 PM Real-Time Operational Analytics with disk-based tables © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

8 Non-clustered columnstore index
Create updatable non-clustered columnstore index (NCCI) for analytics queries Drop all other indexes that were created for analytics Maintain columnstore like any other index Use Query Optimizer to choose columnstore index where needed Requires no application changes Relational table (clustered index/heap) B-tree index Relational table (clustered index/heap) B-tree index Delete bitmap Objective: This slide introduces how you can get Real-Time Operational Analytics on a disk-based table. Talking points: Non-clustered columnstore indexes (NCCIs) are also getting some enhancements in SQL Server The most notable of these enhancements is the ability to be updated. First offered in 2012, NCCIs were designed to be read-only snapshots of a normal heap or b-tree table. The idea is that you would drop and rebuild them on a regular basis, perhaps during a nightly or weekly maintenance cycle. Alternately, you could use partition swapping to load more data. SQL Server automatically maintains all changes to the indexes, ensuring OLTP changes are up-to-date for analytics. This works for both disk-based and memory-optimized tables. To get started with real-time analytics for a disk-based table, simply create an NCCI for analytics queries and drop all other indexes that were created for analytics. You don’t need to change your application since the query optimizer estimates the performance cost and automatically chooses the best index for each query. Analytics queries will run against the columnstore index and OLTP operations will keep running against the b-tree index. The OLTP workloads will continue to perform, but will incur some additional overhead to maintain the columnstore. Animation <<first click>> Top of house (B-tree index and Relational table) appears Animation <<second click>> Bottom of house (Non-clustered columnstore index) appears Delta rowgroups Non-clustered columnstore index

9 (clustered index/heap)
9/4/2018 7:54 PM Minimizing columnstore index overhead: Compression Delay OLTP workload Relational table (clustered index/heap) B-tree index Control how long the data stays in delta rowgroups Example: for HOT/WARM (time based) < 6 hours – HOT (delta store) HOT Delete bitmap Use analytics queries to access both columnstore and hot data transparently Objective: This slide explains how you can minimize columnstore index overhead on operational workload. Talking points: For most OLTP workloads, a newly inserted row goes through multiple changes for some time and then it cools off. You can leverage this to minimize the impact on OLTP workloads by keeping the hot data in the delta rowgroup, which minimizes the columnstore index overhead. Analytics queries transparently access both warm and hot data as needed to provide performant real-time analytics. By using a filtered predicate, you can limit the columnstore index to contain only warm data. If a significant part of operational workload is touching the hot data, then there will be additional maintenance of the columnstore index. In the in-memory table supporting updatable columnstore indexes, there is a direct connection between the in-memory table and columnstore index, meaning that all new data is coming into the tail row group, where it will be stored, until a special process will compress this hot data (operational data that is being constantly updated) into the columnstore index. This delays the compression and can be used equally for disk-based and memory-optimized tables. It is 0 by default (that is, no delay in compression). The frequency of this process compression is something that happens on the data in chunks of 1 million rows that were not changed in the last hour, which will lower impact on hot data. Important: A filtered columnstore index is only supported on disk-based tables. There is no support for memory-optimized tables. Animation <<first click>> Top of house (B-tree index, Relational table and HOT) appears Animation <<second click>> Bottom of house (Non-clustered columnstore index – filtered index) appears Delta rowgroups Non-clustered columnstore index © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 Minimizing columnstore index overhead: Filtered Index
9/4/2018 7:54 PM Minimizing columnstore index overhead: Filtered Index OLTP workload Relational table (clustered index/heap) B-tree index Create columnstore only on cold data, using filtered predicates to minimize maintenance HOT Use analytics queries to access both columnstore and hot data transparently Delete bitmap Objective: This slide explains how you can minimize columnstore index overhead on operational workloads. Talking points: When you know that you only need a well-defined subset of the data, a filtered index can dramatically reduce the amount of disk space you need. And in many cases, filtering can also boost performance. Another new feature of NCCI in SQL Server 2016 is the ability to apply filters to the index definition. The updatable columnstore index works great for operational analytics on ERP-style data. To minimize the overhead of maintaining a columnstore index in an operational workload, you can create a columnstore index on warm, slowly changing data by using a filtered condition. For example, in an order management application, you can create a columnstore index on the orders that have already shipped. Once the order has shipped, it is changed infrequently and can be considered warm data. This minimizes the impact of maintaining the columnstore index for the highly active, hot OLTP operations. Analytics queries transparently access both warm and hot data as needed to provide performant real-time analytics. By using a filtered predicate, you can limit the columnstore index to contain only warm data. If a significant part of operational workload is touching the hot data, then there will be additional maintenance of the columnstore index. Important: A filtered columnstore index is only supported on disk-based tables. There is no support on memory-optimized tables. Animation <<first click>> Top of house (B-tree index, Relational table and HOT) appears Animation <<second click>> Bottom of house (Non-clustered columnstore index – filtered index) appears Delta rowgroups Non-clustered columnstore index – filtered index © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11 Real-Time Operational Analytics with In-Memory OLTP
9/4/2018 7:54 PM Real-Time Operational Analytics with In-Memory OLTP © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

12 Using columnstore on in-memory tables
9/4/2018 Using columnstore on in-memory tables Requires no explicit delta rowgroup Keeps rows (tail) not in columnstore In-Memory OLTP table Requires no columnstore index overhead when operating on tail Uses background task to migrate rows from tail to columnstore in chunks of 1 million rows Uses Deleted Rows Table (DRT) to track deleted rows Keeps columnstore data fully resident in memory and persisted together with operational data You can use Compression Delay to keep data longer in the “tail” to eliminate impact on OLTP workload operating on the “hot” data Requires no application changes Hash index nonclustered index tail Deleted rows table Objective: This slide explains how you can add a columnstore index to an in-memory table. Talking points: SQL Server 2016 has the ability to place a columnstore index on a memory-optimized table. The columnstore index on an in-memory table allows operational analytics by integrating In-Memory OLTP and in-memory columnstore technologies to deliver high performance for OLTP and analytics workloads. You can create a columnstore index on an empty table but all columns must be included in the columnstore. A columnstore index on in-memory table can only be added as part of table creation. You cannot add a columnstore index on an existing in-memory table. This limitation will be removed before SQL Server Community Technology Preview 3.2 (CTP 3.2) is released for RTM. Create a Clustered Columnstore Index To create a clustered columnstore index, first create a rowstore table as a heap or clustered index, and then use the CREATE CLUSTERED COLUMNSTORE INDEX (Transact-SQL) statement to convert the table to a clustered columnstore index. If you want the clustered columnstore index to have the same name as the clustered index, use the DROP_EXISTING option. Load Data into a Clustered Columnstore Index You can add data to an existing clustered columnstore index by using any of the standard loading methods. For example, the bcp bulk loading tool, Integration Services, and INSERT … SELECT can all load data into a clustered columnstore index. In-Memory OLTP table Hot © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

13 Real-time Analytics: Minimizing Columnstore overhead
9/4/2018 7:54 PM Real-time Analytics: Minimizing Columnstore overhead Minimizing columnstore index overhead: Readable secondary Real-time workload AlwaysOn Availability Group Analytics workload Secondary replica Primary replica Objective: This slide gives you an overview how you can minimize columnstore overhead through a readable secondary. Talking points: Even though you can minimize the columnstore index maintenance by using a filtered columnstore index, the analytics queries can still require significant computing resources (CPU, IO, memory), which impact the operational workload performance. For most mission-critical real-time workloads, our recommendation is to use the AlwaysON configuration. In this configuration, you can eliminate the impact of running analytics by offloading it to a readable secondary. This also applies to disk-based tables. This offloading is done to limit the impact of analytics on the operational workload. Key points Mission-critical real-time workloads typically configured for high availability using AlwaysOn Availability Group You can offload analytics to readable secondary replicas © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

14 Summary of improvements
9/4/2018 7:54 PM Summary of improvements © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

15 Improvements summary Improvements SQL Server 2014 SQL Server 2016
Clustered columnstore index Master copy of the data (10x compression) Only index supported; simplified analytics No PK/FK constraints Uniqueness can be enforced through Materialized Views Locking granularity for UPDATE/DELETE at rowgroup level DDL: ALTER, REBUILD, REORGANIZE Additional b-tree indexes for efficient equality, short-range searches, and PK/FK constraints Locking granularity at row level using NCI index path Updatable non-clustered index Introduced in SQL Server 2012 NCCI is read-only: no delete bitmap or delta store Optimizer will choose between NCCI and NCI(s)/CI or heap-based on the cost-based model Partitioning supported Updatable Ability to mix OLTP and analytics workload Ability to create filtered NCCI Equality and short-range queries Rowgroup elimination (when possible) Partition-level scan (somewhat expensive) Full index scan (expensive) Optimizer can choose NCI on column C1; index points directly to rowgroup No full index scan Covering NCI index String predicate pushdown Retrieve 10 million rows by converting dictionary encoded value to string Apply string predicate on 10 million rows Apply filter on dictionary entries Find rows that refer to dictionary entries that qualify (R1) Find rows not eligible for this optimization (R2) Scan returns (R1 + R2) rows Filter node applies string predicate on (R2) Row returned by Filter node = (R1 + R2’) Objective: This slide summarizes the feature comparison of columnstore indexes based on their availability in SQL Server 2014 and 2016. Talking points: This table summarizes the improvement of key features for columnstore indexes in SQL 2014 and SQL SQL Server 2016 adds key enhancements to improve the performance and flexibility of columnstore indexes. This enables Real-Time Operational Analytics. A rowstore table can have one updatable nonclustered columnstore index. Previously, the nonclustered columnstore index was read-only. The nonclustered columnstore index definition supports using a filtered condition. Use this feature to create a nonclustered columnstore index on only the cold data of an operational workload. By doing this, the performance impact of having a columnstore index on an OLTP table will be minimal. An in-memory table can have one columnstore index. Previously, only a disk-based table could have a columnstore index. A clustered columnstore index can have one or more nonclustered rowstore indexes. Previously, the columnstore index did not support nonclustered indexes. SQL Server automatically maintains the nonclustered indexes for DML operations. Support for primary and foreign keys is through the use of a b-tree index to enforce these constraints on a clustered columnstore index.

16 9/4/2018 7:54 PM Getting started © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

17 9/4/2018 7:54 PM Getting started Identify tables in operational schema that contain data required for analytics Examine existing indexes on tables created primarily to speed up the analytics queries Drop these indexes and replace them by columnstore index If you are already running operational analytics using b-tree indexes created for analytics, drop those indexes and replace them with single columnstore index Objective: This slide breaks down how to get started with Real-Time Operational Analytics. Talking points: To get started with Real-Time Operational Analytics, you need to identify tables in your operational schema that contain data required for analytics. Once you have identified these tables, examine the existing indexes on these tables that were created primarily to speed up the analytics queries. You need to drop these indexes and replace them by a columnstore index. If you are already running operational analytics using b-tree indexes created for analytics, you will need to drop those indexes and replace them with a single columnstore index. This can improve the overall performance of your OLTP workload since there will be fewer indexes to maintain. This is all you need to do. You are now ready to perform Real-Time Operational Analytics without requiring any changes to your application. Analytics queries will run against the columnstore index and OLTP operations will keep running against the b-tree index(s). The OLTP workloads will continue to perform, but will incur some additional overhead to maintain the columnstore index. © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

18 9/4/2018 7:54 PM Examples © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

19 Example 1: Add columnstore index to existing OLTP table
9/4/2018 7:54 PM Example 1: Add columnstore index to existing OLTP table Creating non-clustered columnstore index on disk-based table --Example of creating a columnstore index on an existing OLTP table --Create the table CREATE TABLE t_account ( accountkey int PRIMARY KEY, accountdescription nvarchar (50), accounttype nvarchar(50), unitsold int ); --Create the columnstore index with a filtered condition CREATE NONCLUSTERED COLUMNSTORE INDEX account_NCCI ON T_account (accountkey, accountdescription, unitsold) ; Objective: The example in this slide shows the creation of an NCCI on a disk-based table. Talking point: To create an NCCI on a disk-based table, you just need to create the table and then create the columnstore index with a filtered condition. © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

20 Example 2: Add columnstore index to in-memory table
9/4/2018 7:54 PM Example 2: Add columnstore index to in-memory table Columnstore index on in-memory tables: Allow operational analytics by integrating In-Memory OLTP Allow in-memory columnstore technologies to deliver high performance for OLTP and analytics workloads Include all columns -- Create a memory-optimized table with a columnstore index CREATE TABLE t_account ( accountkey int NOT NULL PRIMARY KEY NONCLUSTERED, Accountdescription nvarchar (50), accounttype nvarchar(50), unitsold int, INDEX t_account_cci CLUSTERED COLUMNSTORE ) WITH (MEMORY_OPTIMIZED = ON ); GO Objective: This slide shows how to create a memory-optimized table with a columnstore index. Talking points: You can create a memory-optimized table with a columnstore index. The columnstore index on in-memory table includes all the columns. There are the following limitations when using a columnstore index on in-memory table: A columnstore index on in-memory table can only be added as part of table creation. You can’t add a columnstore index on an existing in-memory table. This limitation will be removed before SQL Server Community Technology Preview 3 (CTP 3.0) is released for RTM. A columnstore index on in-memory table must include all the columns. © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

21 Offloading analytics to AlwaysOn readable secondary
9/4/2018 7:54 PM Offloading analytics to AlwaysOn readable secondary © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

22 Offloading analytics to AlwaysOn readable secondary
9/4/2018 7:54 PM Offloading analytics to AlwaysOn readable secondary Real-time workload Insert into CreditCardTrans values (‘ ’, ‘Surface’, ‘Seattle’, $450.00) Primary replica AlwaysOn Availability Group Secondary replica Secondary replica Secondary replica Select count(*) as transactions, max(price) From creditCardTrans Where CreditCardID = ‘ ’) and (date < last-30-days) Group By city Analytics workload Objective: This slide gives you an overview how you can offload analytics to AlwaysOn readable secondary to achieve real-time analytics. Talking points: You can minimize the columnstore index maintenance using filtered a columnstore index; however, analytics queries can still take significant computing resources (CPU, IO, Memory) and thereby impact the performance of operational workload. For most mission critical workloads, the SQL Server recommendation is to use AlwaysOn configuration. In this configuration, you can eliminate the impact of running analytics by offloading it to a readable secondary. To configure an AlwaysOn availability group to support read-only routing in SQL Server 2016, you can use either Transact-SQL or PowerShell. Read-only routing refers to the ability of SQL Server to route qualifying read-only connection requests to an available AlwaysOn readable secondary replica (that is, a replica that is configured to allow read-only workloads when running under the secondary role). To support read-only routing, the availability group must possess an availability group listener. Read-only clients must direct their connection requests to this listener, and the client's connection strings must specify the application intent as “read-only.” That is, they must be read-intent connection requests. Animation <<first click>> Key Points appears Key points Mission-critical real-time workloads typically configured for high availability using AlwaysOn availability groups Capability to offload analytics to readable secondary replica © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

23 9/4/2018 7:54 PM Use cases © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

24 Real-Time Operational Analytics use cases
9/4/2018 7:54 PM Real-Time Operational Analytics use cases Healthcare Financial Services Transportation and Services Objective: This slide shows Real-Time Operational Analytics use cases from healthcare, financial services, and transportation and services sectors. Talking points: Healthcare Challenge: to gain better insight and improve its services-provider value chain. Wanted to reduce the cost and complexity of managing two different BI systems Faced performance bottlenecks that slowed the flow of data to clinicians and patients Hoped to improve support for a large quantity of users and multiple applications Needed better insight to reduce and prevent collusion and fraud on the services-provider value chain Also needed to provide new insights to bring new products and services to market Solution: the healthcare system can utilize Real-Time Operational Analytics to... Gain better scalability, easily handling large scale connections from multiple users while providing real-time access to data Improve service-levels to customers, while being recognized as one of the most technological advanced healthcare providers Gain new insights that helps speed growth and build a competitive advantage by launching new products and services Simplify IT management and cuts costs with more streamlined environment Avoid penalties from regulatory agencies by delivering monthly reports on time Financial services Challenge: to stay competitive by offering large enterprise customers faster insight into financial data Wanted to give a large quantity of employees more self-service BI features and access to data Needed better insight into customer behavior, but the existing data warehouses were costly and difficult to maintain Lacked the analytics capabilities and scalability needed to support business growth and transformation Hoped to control costs—maintaining BI tools from multiple vendors had become cumbersome and expensive Decentralized analytics and business intelligence environment that was difficult to use and manage Slow extraction times and difficulty providing transactional-level information hindered insight Labor-intensive and limited reporting capabilities Solution: chose Real-Time Operational Analytics to… Provide real-time, self-service analysis access to all employees, driving better business decisions companywide Improve insight to identify new revenue opportunities as well as the reasons existing customers leave the bank Gain more scalable, flexible solutions with potential for cloud and big-data integration Provide faster access to data, helping customers make better business and asset-management decisions Gain better agility and flexibility, including the ability to produce detailed, custom reports on demand Speed up reporting and reduce labor costs Transportation and services Challenge: to add a competitive differentiator and develop new revenue streams Collected huge volumes of telemetry data Wanted to process information in real-time to advise employees how to save time and cut costs Needed to support rapidly growing business with huge quantities of property and tools Larger tables included more than 60 billion rows Solution: chose SQL Server 2016 with Real-Time Operational Analytics features to… Cut reporting so that customers can react faster and more strategically Provide more detailed reports and better insight into performance, empowering the company to expand its business in new markets around the world Deliver real-time information enabling customers Challenge: To gain better insight and improve its service-provider value chain Challenge: To stay competitive by offering faster insight into financial data Challenge: To add a competitive differentiator and develop new revenue streams © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

25 9/4/2018 7:54 PM Demo © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

26 ESP Sales Presentation for Mobility
4/10/2013 © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Microsoft Azure, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION


Download ppt "Real-Time Operational Analytics overview:"

Similar presentations


Ads by Google