SlideShare a Scribd company logo
Clustered Columnstore -
Introduction
Niko Neugebauer
Sponsors
Niko Neugebauer
Microsoft Data Platform Professional
OH22 (http://www.oh22.net)
15+ years in IT
SQL Server MVP
Founder of 3 Portuguese PASS Chapters
Blog: http://www.nikoport.com
Twitter: @NikoNeugebauer
LinkedIn: http://pt.linkedin.com/in/webcaravela
Email: info@webcaravela.com
Explore Everything PASS Has to Offer
Free SQL Server and BI Web Events Free 1-day Training Events Regional Event
Local User Groups Around the
World
Free Online Technical Training
This is Community Business Analytics Training
Session Recordings PASS Newsletter
Today’s program:
 Principles of the Columnstore Indexes & Batch Mode
 History
 Columnstore in SQL Server 2012
 Clustered Columnstore in SQL Server 2014
 Batch Mode improvements for SQL Server 2014
Principles of the Columnstore Indexes:
 Using a-kind-of-in-memory™ engine
 X-Velocity aka Vertipaq (PowerPivot, SSAS Tabular)
 Verytically separated, extremely compressed & tuned for
processing large volumes of data
Principles of the Columnstore Indexes
topics:
 Clustered & Nonclustered Indexes
 RowStore vs ColumnStore
 Columnstore Index creation sequence
 Not-suitable for OLTP, unless you are processing whole
table and not altering data
RowStore vs ColumnStore
RowStore vs ColumnStore
Row Store Index:
1, Jody, Philips, 43.04; 2, Mark, Johnson, 37.08; …
ID First
Name
Last Name Salary
1 Jody Philips 43.03
2 Mark Johnson 37.08
3 Matt Markensen 16.81
4 Gail Lindberg 24.90
Column Store Index:
1, 2, 3, 4; Jody, Mark, Matt, Gail; …
RowStore vs ColumnStore
Columnstore Index creation sequence:
1. Run-length compression
2. Dictionary enconding
3. Binary compression
Run-length compression
ID
1
1
2
3
3
3
4
1
5
1
5
ID
1:2
2
3:3
4
1-5:2
Dictionary enconding
ID
Mark
Andre
John
Mark
John
Andre
John
Mark
ID
Mark 1
Andre 2
John 3
ID
1
2
3
1
3
2
3
1
Binary Compression
Super-secret compression turning data into LOB’s. 
Vertipac aka xVelocity
Row Groups
~ 1.000.000 Rows are grouped in Segments,
called Row Groups
Data is Encoded & Compressed
Data is Unsorted
Stored as LOB’s
When executed in batch mode the Segments are eliminated
Principles of the Batch mode:
 Vector processing
 1 row vs ~1000 rows
 Progammers, its like passing Array vs 1 param
 Think about it as if it would be a Factory processing vs
Manual Processing (19th vs 18th Century)
History of the Columnstore
 Concept exists since 1969 (or since the beginning of Database era)
 Sybase IQ (since 1990s)
 PDW v1 had the first implementation for Microsoft Databases
 SQL Server 2012 introduced Columnstore
 Besides SQL Server there are Vertica, C-Store, Volt, Terradata, …
 Michael Stonebraker’s vision – In 10 years there will be virtually no
Rowstore for Datawarehousing
Columnstore in SQL Server 2012
 Only Nonclustered (but supporting multiple indedexs)
 Non-Updateable (and no schema-modification)
 Very limited data types (Precision 18 and no LOB’s)
 Batch mode functions only in certain conditions (no
OUTER JOIN, UNION ALL, EXIST, IN, Scalar
Aggregates, Distinct Aggregates)
Columnstore in SQL Server 2014
 Clustered & Nonclustered
 Clustered Columnstore are updateable &
Schema can be modified
 Large range of data types (except LOB)
 Better Memory estimation & consumption
 Batch mode is significantly improved
 NEW! Archival Compression
Columnstore in SQL Server 2014
 Delta-Stores (open & close)
 Deleted Bitmap
 Delete & Update work as a
DELETE + INSERT
 Schema modification
 Constraints are supported
(Non-Unique)
Important Limitations in SQL Server 2014
 No NonClustered Indexes for Clustered
Columnstore
 No ONLINE operations
 Not every operator in Execution plans is
supporting Batch mode.
Batch Mode Improvements in SQL Server
2014
 Mixed Mode – Row & Batch mode can co-exist
 OUTER JOIN, UNION ALL, EXIST, IN, Scalar
Aggregates, Distinct Aggregates
 Some TempDB operations for Columnstore Indexes are
running in Batch mode.
Demo Time
Links
• http://www.nikoport.com/2013/07/05/clustered-
columnstore-indexes-part-1-intro/ – My series of blog
posts on Clustered Columnstore Indexes
• http://rusanu.com/2013/06/11/sql-server-clustered-
columnstore-indexes-at-teched-2013/ – Remus Rusanu
Introduction for Clustered Columnstore
• http://research.microsoft.com/pubs/193599/Apollo3%20
-%20Sigmod%202013%20-%20final.pdf – White Paper
on the Clustered Columnstore
Clustered Columnstore Introduction
Sponsors

More Related Content

PDF
Columnstore improvements in SQL Server 2016
PDF
Clustered Columnstore - Deep Dive
PDF
Whats new in Columnstore Indexes for SQL Server 2017
PDF
ETL with Clustered Columnstore - PASS Summit 2014
PDF
CosmosDB for DBAs & Developers
PDF
The architecture of SkySQL
PPTX
SQL Explore 2012: P&T Part 3
PDF
What to expect from MariaDB Platform X5, part 2
Columnstore improvements in SQL Server 2016
Clustered Columnstore - Deep Dive
Whats new in Columnstore Indexes for SQL Server 2017
ETL with Clustered Columnstore - PASS Summit 2014
CosmosDB for DBAs & Developers
The architecture of SkySQL
SQL Explore 2012: P&T Part 3
What to expect from MariaDB Platform X5, part 2

What's hot (20)

PDF
How QBerg scaled to store data longer, query it faster
PPTX
Scylla Summit 2018: Scylla 3.0 and Beyond
PPTX
Jss 2015 in memory and operational analytics
PPTX
Oracle GoldenGate for MySQL Overview
PPTX
SQL Explore 2012: P&T Part 2
PDF
Scylla Summit 2022: How ScyllaDB Powers This Next Tech Cycle
PPTX
What is Change Data Capture (CDC) and Why is it Important?
PPTX
Products.intro.forum version
PDF
Introduction of MariaDB 2017 09
PDF
MariaDB: Connect Storage Engine
PDF
An Introduction to Amazon’s DynamoDB
PDF
MongoDB and DynamoDB
PPTX
How we switched to columnar at SpendHQ
PDF
Introduction of MariaDB AX / TX
PDF
In-memory ColumnStore Index
PPTX
Scylla Summit 2018: Getting the Most Out of Scylla on Kubernetes
PDF
MariaDB TX 3.0 新機能 / ロードマップ
PDF
Getting started in the cloud for developers
PDF
Running Scylla on Kubernetes with Scylla Operator
PDF
How MariaDB is approaching DBaaS
How QBerg scaled to store data longer, query it faster
Scylla Summit 2018: Scylla 3.0 and Beyond
Jss 2015 in memory and operational analytics
Oracle GoldenGate for MySQL Overview
SQL Explore 2012: P&T Part 2
Scylla Summit 2022: How ScyllaDB Powers This Next Tech Cycle
What is Change Data Capture (CDC) and Why is it Important?
Products.intro.forum version
Introduction of MariaDB 2017 09
MariaDB: Connect Storage Engine
An Introduction to Amazon’s DynamoDB
MongoDB and DynamoDB
How we switched to columnar at SpendHQ
Introduction of MariaDB AX / TX
In-memory ColumnStore Index
Scylla Summit 2018: Getting the Most Out of Scylla on Kubernetes
MariaDB TX 3.0 新機能 / ロードマップ
Getting started in the cloud for developers
Running Scylla on Kubernetes with Scylla Operator
How MariaDB is approaching DBaaS
Ad

Viewers also liked (9)

PDF
Sql server 2014 x velocity – updateable columnstore indexes
PDF
Sql server data store data access internals
PDF
SQL Server 2014 データベースエンジン新機能
PPTX
DBTS2015_B35_SQLServer2016
PDF
Sql server 2012 の新機能を使ってみよう。db 管理者向け機能の紹介
PDF
Columnstore indexes in sql server 2014
PDF
[D35] インメモリーデータベース徹底比較 by Komori
PPTX
Sql server 2016 ctp 3.0 新機能
PPTX
SQL server 2016 New Features
Sql server 2014 x velocity – updateable columnstore indexes
Sql server data store data access internals
SQL Server 2014 データベースエンジン新機能
DBTS2015_B35_SQLServer2016
Sql server 2012 の新機能を使ってみよう。db 管理者向け機能の紹介
Columnstore indexes in sql server 2014
[D35] インメモリーデータベース徹底比較 by Komori
Sql server 2016 ctp 3.0 新機能
SQL server 2016 New Features
Ad

Similar to Clustered Columnstore Introduction (20)

PDF
Introduction to Columnstore Indexes
PPTX
SqlSaturday199 - Columnstore Indexes
PDF
Christian Winther Kristensen
DOCX
Create column store index on all supported tables in sql server 2014 copy
PPTX
An introduction to column store indexes and batch mode
PPT
Performance dreams of sql server 2014
PPTX
Column store indexes and batch processing mode (nx power lite)
PPT
Column-Stores vs. Row-Stores: How Different are they Really?
PPTX
SQL Server Columnstore
PDF
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...
PDF
"Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1
PPTX
Sql rally 2013 columnstore indexes
PPTX
Sql server 2014 y los datos
PDF
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
PDF
Best Practices – Extreme Performance with Data Warehousing on Oracle Database
PDF
Sql server 2016 new features
PDF
Sql server 2016 new features
PDF
SQL Server 2016 novelties
PPTX
SQL Server 2014 Extreme Transaction Processing (Hekaton) - Basics
PPTX
Sql 2016 - What's New
Introduction to Columnstore Indexes
SqlSaturday199 - Columnstore Indexes
Christian Winther Kristensen
Create column store index on all supported tables in sql server 2014 copy
An introduction to column store indexes and batch mode
Performance dreams of sql server 2014
Column store indexes and batch processing mode (nx power lite)
Column-Stores vs. Row-Stores: How Different are they Really?
SQL Server Columnstore
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...
"Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1
Sql rally 2013 columnstore indexes
Sql server 2014 y los datos
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
Best Practices – Extreme Performance with Data Warehousing on Oracle Database
Sql server 2016 new features
Sql server 2016 new features
SQL Server 2016 novelties
SQL Server 2014 Extreme Transaction Processing (Hekaton) - Basics
Sql 2016 - What's New

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Empathic Computing: Creating Shared Understanding
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Electronic commerce courselecture one. Pdf
PDF
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Empathic Computing: Creating Shared Understanding
Agricultural_Statistics_at_a_Glance_2022_0.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Spectral efficient network and resource selection model in 5G networks
Network Security Unit 5.pdf for BCA BBA.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Building Integrated photovoltaic BIPV_UPV.pdf
Review of recent advances in non-invasive hemoglobin estimation
Electronic commerce courselecture one. Pdf
Machine learning based COVID-19 study performance prediction

Clustered Columnstore Introduction

  • 3. Niko Neugebauer Microsoft Data Platform Professional OH22 (http://www.oh22.net) 15+ years in IT SQL Server MVP Founder of 3 Portuguese PASS Chapters Blog: http://www.nikoport.com Twitter: @NikoNeugebauer LinkedIn: http://pt.linkedin.com/in/webcaravela Email: info@webcaravela.com
  • 4. Explore Everything PASS Has to Offer Free SQL Server and BI Web Events Free 1-day Training Events Regional Event Local User Groups Around the World Free Online Technical Training This is Community Business Analytics Training Session Recordings PASS Newsletter
  • 5. Today’s program:  Principles of the Columnstore Indexes & Batch Mode  History  Columnstore in SQL Server 2012  Clustered Columnstore in SQL Server 2014  Batch Mode improvements for SQL Server 2014
  • 6. Principles of the Columnstore Indexes:  Using a-kind-of-in-memory™ engine  X-Velocity aka Vertipaq (PowerPivot, SSAS Tabular)  Verytically separated, extremely compressed & tuned for processing large volumes of data
  • 7. Principles of the Columnstore Indexes topics:  Clustered & Nonclustered Indexes  RowStore vs ColumnStore  Columnstore Index creation sequence  Not-suitable for OLTP, unless you are processing whole table and not altering data
  • 9. RowStore vs ColumnStore Row Store Index: 1, Jody, Philips, 43.04; 2, Mark, Johnson, 37.08; … ID First Name Last Name Salary 1 Jody Philips 43.03 2 Mark Johnson 37.08 3 Matt Markensen 16.81 4 Gail Lindberg 24.90 Column Store Index: 1, 2, 3, 4; Jody, Mark, Matt, Gail; …
  • 11. Columnstore Index creation sequence: 1. Run-length compression 2. Dictionary enconding 3. Binary compression
  • 14. Binary Compression Super-secret compression turning data into LOB’s.  Vertipac aka xVelocity
  • 15. Row Groups ~ 1.000.000 Rows are grouped in Segments, called Row Groups Data is Encoded & Compressed Data is Unsorted Stored as LOB’s When executed in batch mode the Segments are eliminated
  • 16. Principles of the Batch mode:  Vector processing  1 row vs ~1000 rows  Progammers, its like passing Array vs 1 param  Think about it as if it would be a Factory processing vs Manual Processing (19th vs 18th Century)
  • 17. History of the Columnstore  Concept exists since 1969 (or since the beginning of Database era)  Sybase IQ (since 1990s)  PDW v1 had the first implementation for Microsoft Databases  SQL Server 2012 introduced Columnstore  Besides SQL Server there are Vertica, C-Store, Volt, Terradata, …  Michael Stonebraker’s vision – In 10 years there will be virtually no Rowstore for Datawarehousing
  • 18. Columnstore in SQL Server 2012  Only Nonclustered (but supporting multiple indedexs)  Non-Updateable (and no schema-modification)  Very limited data types (Precision 18 and no LOB’s)  Batch mode functions only in certain conditions (no OUTER JOIN, UNION ALL, EXIST, IN, Scalar Aggregates, Distinct Aggregates)
  • 19. Columnstore in SQL Server 2014  Clustered & Nonclustered  Clustered Columnstore are updateable & Schema can be modified  Large range of data types (except LOB)  Better Memory estimation & consumption  Batch mode is significantly improved  NEW! Archival Compression
  • 20. Columnstore in SQL Server 2014  Delta-Stores (open & close)  Deleted Bitmap  Delete & Update work as a DELETE + INSERT  Schema modification  Constraints are supported (Non-Unique)
  • 21. Important Limitations in SQL Server 2014  No NonClustered Indexes for Clustered Columnstore  No ONLINE operations  Not every operator in Execution plans is supporting Batch mode.
  • 22. Batch Mode Improvements in SQL Server 2014  Mixed Mode – Row & Batch mode can co-exist  OUTER JOIN, UNION ALL, EXIST, IN, Scalar Aggregates, Distinct Aggregates  Some TempDB operations for Columnstore Indexes are running in Batch mode.
  • 24. Links • http://www.nikoport.com/2013/07/05/clustered- columnstore-indexes-part-1-intro/ – My series of blog posts on Clustered Columnstore Indexes • http://rusanu.com/2013/06/11/sql-server-clustered- columnstore-indexes-at-teched-2013/ – Remus Rusanu Introduction for Clustered Columnstore • http://research.microsoft.com/pubs/193599/Apollo3%20 -%20Sigmod%202013%20-%20final.pdf – White Paper on the Clustered Columnstore