PREMIER SPONSOR GOLD SPONSORS SILVER SPONSORS BRONZE SPONSORS SUPPORTERS
SQL Server Consultant, SQL Stijn I get my kicks out of Performance tuning, but shiver at the sight of a Cube Hobby’s Football(soccer) & my English Bulldog Stijn Wynants SQL Server Consultant, SQL Stijn Company Independent Consultant at Kohera /stijn-wynants @SQLStijn Stijn Wynants
The Records The History of Columnstore Indexes What is Realtime Analytics The Records The Internals of Columnstore Indexes How to get a performing Realtime Analytics Setup
History Of Columnstore Indexes SQL Server 2012 Not Updateable Non-Clustered Limited datatypes & isolation levels & No constraints/Keys
History Of Columnstore Indexes SQL Server 2014 Clustered Columnstore Index Updateable Compression Rates
History Of Columnstore Indexes SQL Server 2016 SP1 Updateable & Filterable Non-Clustered Columnstore Index Constraints & Keys Columnstore On Inmemory Tables
The Records The History of Columnstore Indexes What is Realtime Analytics The Records The Internals of Columnstore Indexes How to get a performing Realtime Analytics Setup
Realtime Analytics Why? Complexity Data Latency Cost
Realtime Analytics How? Filtered Non-Clustered Columnstore Index No Data Latency Hot & Cold Data
Insert updates deletes Hot & Cold Data Insert updates deletes Hot data Cold Data
The Records The History of Columnstore Indexes What is Realtime Analytics The Records The Internals of Columnstore Indexes How to get a performing Realtime Analytics Setup
Columnstore Internals Columnstore Segments Batchmode Processing Filtered Columnstore indexes
Columnstore Internals Columnstore & Deltastore Columnstore Segments Table Rowgroups Column Segments Columnstore
Columnstore & Deltastore Columnstore Segments Columnstore & Deltastore Columnstore Segments & Deltastore Open/Closed/Compressed/Tombstone Bulk Insert vs Row Insert
Delta Store & Columnstore Demo
Dictionaries Columnstore Segments Global & Local Dictionaries Predicate Pushdown & Segment Elimination Dictionary Sizes (16MB)
Dictionary Demo
Columnstore and update operations Columnstore Segments Columnstore and update operations Delete buffer & delete bitmap Insert into deltastore Updates in delta store
Columnstore and delete operations Columnstore Segments Columnstore and delete operations Delete buffer & delete bitmap Marking for deletion Deletes in delta store
Delete & update operations Demo
Summarize Columnstore Segments Columnstore = Rowstore & Columnstore! Dictionaries can cause multiple segments Deletes happen in internal structures depending on CCI type Updates are actually delete insert
Columnstore Internals Columnstore Segments Batchmode Processing Filtered Columnstore indexes
Batchmode Processing Batchmode Processing Batchmode Processing 1000 rows at a time Parallel or Single threaded Great read performance enhancement!
Batchmode operations Demo
Non-Clustered Columnstore trick Batchmode Processing Non-Clustered Columnstore trick Filtered empty Columnstore Batchmode when there is no data in columnstore Cheapest performance enhancement!
Non-Clustered Columnstore trick! Demo
Columnstore Internals Columnstore Segments Batchmode Processing Filtered Columnstore indexes
Filtered Non-Clustered Columnstore Filtered Columnstore indexes Filtered Non-Clustered Columnstore What happens when we update/insert a value? What happens when we delete a value? What happens when we select data?
Filtered NCCI Demo
The Records The History of Columnstore Indexes What is Realtime Analytics The Records The Internals of Columnstore Indexes How to get a performing Realtime Analytics Setup
Realtime Analytics Scenario’s OLTP & OLAP on Clustered Columnstore Index OLTP & OLAP on Non-Clustered Columnstore Index OLTP & OLAP on Filtered Non-Clustered Columnstore Index OLTP & OLAP on Inmemory Columnstore Index
Any Questions?
SQLRelay.co.uk/feedback Live Now Win a Lego BB8!
PREMIER SPONSOR GOLD SPONSORS SILVER SPONSORS BRONZE SPONSORS SUPPORTERS