Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dos and don’ts of Columnstore indexes The basis of xVelocity in-memory technology What’s it all about The compression methods (RLE / Dictionary encoding)

Similar presentations


Presentation on theme: "Dos and don’ts of Columnstore indexes The basis of xVelocity in-memory technology What’s it all about The compression methods (RLE / Dictionary encoding)"— Presentation transcript:

1

2

3 Dos and don’ts of Columnstore indexes The basis of xVelocity in-memory technology What’s it all about The compression methods (RLE / Dictionary encoding) Maximizing columnstore performance Columnstore limitations and how to work around them The Columnstore Indexes Best Practises The Limitations of the columnstore Indexes Working around the limitations How to load data for a columnstore indexed table Questions

4 Demo Just to get your attention

5 The basis of xVelocity in- memory technology

6 Row storage

7 Column storage

8 What’s it all about Columnstore indexes can speed up some queries by a factor of 10X to 100X on the same hardware depending on the query and data. These key things make columnstore-based query processing so fast: The columnstore index itself stores data in highly compressed format, with each column kept in a separate group of pages. There is a highly efficient, vector-based query execution method called "batch processing" that works with the columnstore index. Segment elimination can skip large chunks of data to speed up scans. The storage engine pushes filters down into the scans of data.

9 Demo How to create a columnstore index

10 xVelocity engine The columnstore index utilizes the xVelocity in-memory engine also known from the SSAS Tabular model Storage Compression Batch mode processing

11 Compression xVelocity compresses data from 4 – 200 times Two methods Run-length encoding (RLE) Dictionary encoding

12 RLE Run-length Encoding

13 Dictionary Encoding

14 Demo Cpu / RAM usage during index rebuild

15 Maximizing columnstore performance

16 The key to getting the best performance is to make sure your queries process the largest majority of data in batch mode

17 Ensuring Batch Mode Query Execution Parallelism (DOP >= 2) is Required to Get Batch Processing Do not use: Outer Join IN and EXISTS NOT IN Scalar Aggregate UNION ALL (If not using SP1) Nonclustered B-tree Indexes Unsupported Data Types Using HASH JOIN hint to avoid nested loop join and force batch processing

18 Demo What to look out for

19 Segment elimination A segment is a grouping of rows, from 1 to 8 million rows depending on application. Order by date to ensure date segment elemination SQL server eliminates segments based on min and max data id when scanning the index

20 Columnstore limitations and how to work around them

21 Obeying the following do's will help you get the most out of columnstore DOs Put columnstore indexes on large tables only. Include every column of the table in the columnstore index Structure your queries as star joins with grouping and aggregation as much as possible. All join columns most have the “not null” attribute sat Use surrogate keys and dimension tables, do not use strings in the fact table

22 Similar – a list of do not use operators – I will show you how to work around them in a few minutes Do not use Outer Join IN EXISTS NOT IN Scalar Aggregate String filtering

23 Demo How to work around the limitations

24 Update strategies Disable / enable the index Partition switching

25 SQL 2014 – whats new?

26 Columnstore indexes got updatable A Clustered columnstore index

27 Evaluation Create a Text message on your phone and send it to 1919 with the content: DB401 5 5 5 I liked it a lot Session Code Rasmus Performance (1 to 5) Match of technical Level (1 to 5) Relevance (1 to 5) Comments (optional) Evaluation Scale: 1 = Very bad 2 = Bad 3 = Relevant 4 = Good 5 = Very Good! Questions: Speaker Performance Relevance according to your work Match of technical level according to published level Comments

28 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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 "Dos and don’ts of Columnstore indexes The basis of xVelocity in-memory technology What’s it all about The compression methods (RLE / Dictionary encoding)"

Similar presentations


Ads by Google