SlideShare a Scribd company logo
Whats new in Columnstore
2017
Niko Neugebauer
Niko Neugebauer
Microsoft Data Platform Professional
OH22 (http://www.oh22.net)
Data Platform MVP
Community Guy
Blog: http://www.nikoport.com (over 100 Columnstore blog posts)
Twitter: @NikoNeugebauer
LinkedIn: http://pt.linkedin.com/in/webcaravela
Agenda, part I
Storage Engine
- LOB Support
- Computed Columns
Index Building
- Online Rebuilds
Query Optimiser:
- Adaptive Query Processing
- Query Processing Construction
- NCCI Updates
- Trivial Plans
Query Optimiser Something new
Agenda, part II
Machine Learning Services
- Much faster interaction
Query Optimiser Something new
Storage Engine
Storage Engine
LOB Support
One of the less important
features for the DWH on the first
sight/thought, but in the real life,
people do put LOBs in the
Relational DB
Another possibility is to open
Log Tables for the Columnstore
Compression.
Computed Columns
The most missing feature for the
DWH, the one which definitely
prevented projects migrating to
Columnstore Indexes.
Was asked/begged/demanded
before 2012 release.
Unfortunately still incomplete in
2017.
LOBs
- Large objects that require more than 2 MB of the
space and can grow a single entry up to 2 GB.
- We can have 3 datatypes for the LOBs:
- Varchar(MAX)
- Nvarchar(MAX)
- Varbinary(MAX)
LOBs
- For Clustered Columnstore Indexes there are 3 categories of compression:
- 1. Inline, within the Row Group – compressing all strings with the total
length below 8000 bytes. All values in this case are stored within the
dictionaries.
- 2. Compressed Off-Row – compressing values between 8000 bytes and 16
Megabytes. The strings are individually block-compressed. Only the
headers/pointers to these off-row LOBs are stored in dictionaries.
- 3. Pass-through – containing values above 16 MB, these are simply
uncompressed LOBs with headers/pointers stored in the dictionaries.
Demo!
Computed Columns
- In SQL Server 2017, we can have (finally, finally,
finally) the computed columns within our table (Fact
Table, for example)!
- The other news: the non-persisted computed
columns are not supported. 
Demo!
Index Operations
Online NCCI Builds/Rebuilds
- In SQL Server 2017, we finally get the ONLINE
operations for the Nonclustered Columnstore
Indexes Build/Rebuild processes. This is the final
major blocker for the HTAP scenarios that is
removed.
Notice: NCCI only 
Online NCCI Builds/Rebuilds
Online NCCI Builds/Rebuilds
Query Processor
Storage Engine
Adaptive
Query
Processing
The biggest
improvement
in QA since
forever!
Query
Processing
Construction
Small
optimisations
bringing
some major
results
NCCI Updates
Updating your
Delta-Stores
will be much
more efficient
Trivial Plans
All plans are
created equal,
but some are
more trivial
than the others.
Adaptive
Query Processing
Adaptive Query Optimiser
Memory Grant Feedback
Did SQL Server granted more
memory than the query really
needs ? Did SQL Server granted
too few memory and your
queries are spilling on TempDB.
Memory Grant Feedback is here
to save the day!
Adaptive Joins
Sometimes your queries are
being executed near the tipping
point of choosing between NLP
(Loop Joins) and HM (Hash
Match).
Would it be nice, if we could
choose at the run-time?
Adaptive Memory Grant Feedback
After first memory grant the consequitive ones will
be adjust UP or DOWN, according to the current
needs
Adaptive Joins
The execution plan will provide 2 ways of running the
very same execution plan – with HASH MATCH or
INNER LOOP JOIN and this will be decided during
the pre-execution phase of the query execution. This
way adapting to the number of the rows flowing into
the Adaptive Join the execution plan can run either
way.
Trivial Plans
Trivial Plans
Trivial Plans can be “not so trivial” for the end-user. If
you can’t get the speed you are expecting from the
Columnstore Indexes Batch Mode, verify if you have
your iterators being executed with the Batch Mode.
And for the sake of the sanity, check if you are having
the “Trivial Plan” optimisation.
Trivial Plans
In SQL Server 2017 there are no trivial plans for
Columnstore Indexes. 
Machine
Learning Services
Demo
Thank you!

More Related Content

What's hot (20)

PPT
Cloudant Overview Bluemix Meetup from Lisa Neddam
Romeo Kienzler
 
PDF
The Evolution of Open Source Databases
Ivan Zoratti
 
PDF
How QBerg scaled to store data longer, query it faster
MariaDB plc
 
PPTX
Products.intro.forum version
sqlserver.co.il
 
PDF
Cassandra in e-commerce
Alexander Solovyev
 
PPTX
ClustrixDB: how distributed databases scale out
MariaDB plc
 
PPTX
Transform your DBMS to drive engagement innovation with Big Data
Ashnikbiz
 
PPTX
How to power microservices with MariaDB
MariaDB plc
 
PPT
Scaling MySQL using Fabric
Karthik .P.R
 
PPTX
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScale
MariaDB plc
 
PDF
Membase Introduction
Membase
 
PPTX
Gs08 modernize your data platform with sql technologies wash dc
Bob Ward
 
PDF
Introduction to SharePoint for SQLserver DBAs
Steve Knutson
 
PDF
How MariaDB is approaching DBaaS
MariaDB plc
 
PDF
Membase Intro from Membase Meetup San Francisco
Membase
 
PDF
MySQL Query Optimization (Basics)
Karthik .P.R
 
PPTX
CCV: migrating our payment processing system to MariaDB
MariaDB plc
 
PDF
Solr cloud the 'search first' nosql database extended deep dive
lucenerevolution
 
PDF
Application Development with Apache Cassandra as a Service
WSO2
 
PPTX
Using Kafka to scale database replication
Venu Ryali
 
Cloudant Overview Bluemix Meetup from Lisa Neddam
Romeo Kienzler
 
The Evolution of Open Source Databases
Ivan Zoratti
 
How QBerg scaled to store data longer, query it faster
MariaDB plc
 
Products.intro.forum version
sqlserver.co.il
 
Cassandra in e-commerce
Alexander Solovyev
 
ClustrixDB: how distributed databases scale out
MariaDB plc
 
Transform your DBMS to drive engagement innovation with Big Data
Ashnikbiz
 
How to power microservices with MariaDB
MariaDB plc
 
Scaling MySQL using Fabric
Karthik .P.R
 
How Alibaba Cloud scaled ApsaraDB with MariaDB MaxScale
MariaDB plc
 
Membase Introduction
Membase
 
Gs08 modernize your data platform with sql technologies wash dc
Bob Ward
 
Introduction to SharePoint for SQLserver DBAs
Steve Knutson
 
How MariaDB is approaching DBaaS
MariaDB plc
 
Membase Intro from Membase Meetup San Francisco
Membase
 
MySQL Query Optimization (Basics)
Karthik .P.R
 
CCV: migrating our payment processing system to MariaDB
MariaDB plc
 
Solr cloud the 'search first' nosql database extended deep dive
lucenerevolution
 
Application Development with Apache Cassandra as a Service
WSO2
 
Using Kafka to scale database replication
Venu Ryali
 

Similar to Whats new in Columnstore Indexes for SQL Server 2017 (20)

PPTX
SQL Server Columnstore
Tony Rogerson
 
PPTX
Hekaton introduction for .Net developers
Shy Engelberg
 
PPT
Performance dreams of sql server 2014
Shehap Elnagar
 
PPTX
SQL server 2016 New Features
Amin Mesbahi
 
PPTX
JSSUG: SQL Sever Performance Tuning
Kenichiro Nakamura
 
PPTX
SQL Explore 2012: P&T Part 2
sqlserver.co.il
 
PDF
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...
Edgar Alejandro Villegas
 
PDF
Columnstore indexes in sql server 2014
Antonios Chatzipavlis
 
PPTX
Sql 2016 - What's New
dpcobb
 
PPTX
My Database Skills Killed the Server
ColdFusionConference
 
PDF
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
Hiram Fleitas León
 
PDF
Modernizing your database with SQL Server 2019
Antonios Chatzipavlis
 
PPTX
Sql killedserver
ColdFusionConference
 
PPTX
My SQL Skills Killed the Server
devObjective
 
PDF
SQL Server 2016 novelties
MSDEVMTL
 
PDF
SQL Server 2019 CTP2.4
Gianluca Hotz
 
PPTX
Column store indexes and batch processing mode (nx power lite)
Chris Adkin
 
PDF
SQL Server 2019 ctp2.2
Gianluca Hotz
 
PPTX
SQL Server 2014 Extreme Transaction Processing (Hekaton) - Basics
Tony Rogerson
 
PPTX
Teched03 Index Maint Tony Bain
Tony Bain
 
SQL Server Columnstore
Tony Rogerson
 
Hekaton introduction for .Net developers
Shy Engelberg
 
Performance dreams of sql server 2014
Shehap Elnagar
 
SQL server 2016 New Features
Amin Mesbahi
 
JSSUG: SQL Sever Performance Tuning
Kenichiro Nakamura
 
SQL Explore 2012: P&T Part 2
sqlserver.co.il
 
Best Practices – Extreme Performance with Data Warehousing on Oracle Databa...
Edgar Alejandro Villegas
 
Columnstore indexes in sql server 2014
Antonios Chatzipavlis
 
Sql 2016 - What's New
dpcobb
 
My Database Skills Killed the Server
ColdFusionConference
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
Hiram Fleitas León
 
Modernizing your database with SQL Server 2019
Antonios Chatzipavlis
 
Sql killedserver
ColdFusionConference
 
My SQL Skills Killed the Server
devObjective
 
SQL Server 2016 novelties
MSDEVMTL
 
SQL Server 2019 CTP2.4
Gianluca Hotz
 
Column store indexes and batch processing mode (nx power lite)
Chris Adkin
 
SQL Server 2019 ctp2.2
Gianluca Hotz
 
SQL Server 2014 Extreme Transaction Processing (Hekaton) - Basics
Tony Rogerson
 
Teched03 Index Maint Tony Bain
Tony Bain
 
Ad

Recently uploaded (20)

PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
July Patch Tuesday
Ivanti
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
July Patch Tuesday
Ivanti
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Ad

Whats new in Columnstore Indexes for SQL Server 2017

  • 1. Whats new in Columnstore 2017 Niko Neugebauer
  • 2. Niko Neugebauer Microsoft Data Platform Professional OH22 (http://www.oh22.net) Data Platform MVP Community Guy Blog: http://www.nikoport.com (over 100 Columnstore blog posts) Twitter: @NikoNeugebauer LinkedIn: http://pt.linkedin.com/in/webcaravela
  • 3. Agenda, part I Storage Engine - LOB Support - Computed Columns Index Building - Online Rebuilds Query Optimiser: - Adaptive Query Processing - Query Processing Construction - NCCI Updates - Trivial Plans Query Optimiser Something new
  • 4. Agenda, part II Machine Learning Services - Much faster interaction Query Optimiser Something new
  • 6. Storage Engine LOB Support One of the less important features for the DWH on the first sight/thought, but in the real life, people do put LOBs in the Relational DB Another possibility is to open Log Tables for the Columnstore Compression. Computed Columns The most missing feature for the DWH, the one which definitely prevented projects migrating to Columnstore Indexes. Was asked/begged/demanded before 2012 release. Unfortunately still incomplete in 2017.
  • 7. LOBs - Large objects that require more than 2 MB of the space and can grow a single entry up to 2 GB. - We can have 3 datatypes for the LOBs: - Varchar(MAX) - Nvarchar(MAX) - Varbinary(MAX)
  • 8. LOBs - For Clustered Columnstore Indexes there are 3 categories of compression: - 1. Inline, within the Row Group – compressing all strings with the total length below 8000 bytes. All values in this case are stored within the dictionaries. - 2. Compressed Off-Row – compressing values between 8000 bytes and 16 Megabytes. The strings are individually block-compressed. Only the headers/pointers to these off-row LOBs are stored in dictionaries. - 3. Pass-through – containing values above 16 MB, these are simply uncompressed LOBs with headers/pointers stored in the dictionaries.
  • 10. Computed Columns - In SQL Server 2017, we can have (finally, finally, finally) the computed columns within our table (Fact Table, for example)! - The other news: the non-persisted computed columns are not supported. 
  • 11. Demo!
  • 13. Online NCCI Builds/Rebuilds - In SQL Server 2017, we finally get the ONLINE operations for the Nonclustered Columnstore Indexes Build/Rebuild processes. This is the final major blocker for the HTAP scenarios that is removed. Notice: NCCI only 
  • 17. Storage Engine Adaptive Query Processing The biggest improvement in QA since forever! Query Processing Construction Small optimisations bringing some major results NCCI Updates Updating your Delta-Stores will be much more efficient Trivial Plans All plans are created equal, but some are more trivial than the others.
  • 19. Adaptive Query Optimiser Memory Grant Feedback Did SQL Server granted more memory than the query really needs ? Did SQL Server granted too few memory and your queries are spilling on TempDB. Memory Grant Feedback is here to save the day! Adaptive Joins Sometimes your queries are being executed near the tipping point of choosing between NLP (Loop Joins) and HM (Hash Match). Would it be nice, if we could choose at the run-time?
  • 20. Adaptive Memory Grant Feedback After first memory grant the consequitive ones will be adjust UP or DOWN, according to the current needs
  • 21. Adaptive Joins The execution plan will provide 2 ways of running the very same execution plan – with HASH MATCH or INNER LOOP JOIN and this will be decided during the pre-execution phase of the query execution. This way adapting to the number of the rows flowing into the Adaptive Join the execution plan can run either way.
  • 23. Trivial Plans Trivial Plans can be “not so trivial” for the end-user. If you can’t get the speed you are expecting from the Columnstore Indexes Batch Mode, verify if you have your iterators being executed with the Batch Mode. And for the sake of the sanity, check if you are having the “Trivial Plan” optimisation.
  • 24. Trivial Plans In SQL Server 2017 there are no trivial plans for Columnstore Indexes. 
  • 26. Demo