Select Page

New SQL Server Promises Improved Columnstore Features

Eric Russo | | October 26, 2013

The Clustered Columnstore Index feature allows users to column-order data in SQL Server. Because the data is stored and compressed by column rather than row, users achieve better performance. Microsoft claims it offers performance 10 times faster than to row-oriented storage, while data compression can be seven times faster than uncompressed data. Microsoft also notes:

“For example, columnstore indexes improve data compression and query performance for data warehousing workloads that primarily perform bulk loads and read-only queries. Since the clustered columnstore index is updateable, the workload can perform some insert, update, and delete operations. … [W]e view the clustered columnstore index as the standard for storing large data warehousing fact tables, and expect it will be used in most data warehousing scenarios.”

Although this feature existed in SQL Server 2012, its use was restricted. What changed? The new software features a new storage engine that allows the table to execute data manipulation language operations normally.

Jonathan Allen,  writing on InfoQ,explains:

“Just like a normal clustered index, a clustered columnstore index defines how the data is physically stored on the disc. A columnstore backed table is initially organized into segments known as row groups. Each rowgroup holds from 102,400 to 1,048,576 rows. Once a rowgroup is identified it is broken up into column segments, which are then compressed and inserted into the actual columnstore.”

Arshad Ali, writing in Database Journal, walks through several  possible use scenarios for the feature, including showing readers performance testing options to check the claims for themselves.

There are some limitations, observes Allen:

“Unlike the previous version of columnstore indexes, the clustered version must include all columns in the table. This is because there is no other heap or clustered index to fall back on for the rest of the row. In fact, clustered columnstore indexes cannot be combined with other types of indexes at all.”

Those wanting to learn more about the enhanced columnstore indexes had several opportunities  to attend workshop sessions  devoted to the subject at SQL Pass Summit 2013, held earlier this month. Some of Datavail employees attended these sessions to gain an edge.

How will you use columnstore indexes? What insights or information did you take away from SQL Pass Summit 2013? Let us know by adding your comment to the discussion.

Of course, we at Datavail can apply our expertise with SQL Server  to a wide variety of issues you may have, including performance tuning. Contact us to discuss your organization’s specific needs.

Image by Rafael Saldana/ikarusmedia.

Subscribe to Our Blog

Never miss a post! Stay up to date with the latest database, application and analytics tips and news. Delivered in a handy bi-weekly update straight to your inbox. You can unsubscribe at any time.

ORA-12154: TNS:could not resolve the connect identifier specified

Most people will encounter this error when their application tries to connect to an Oracle database service, but it can also be raised by one database instance trying to connect to another database service via a database link.

Jeremiah Wilton | March 4, 2009

12c Upgrade Bug with SQL Tuning Advisor

Learn the steps to take on your Oracle upgrade 11.2 to 12.1 if you’re having performance problems. Oracle offers a patch and work around to BUG 20540751.

Megan Elphingstone | March 22, 2017

Using Nulls in DB2

If a column “value” can be null, it can mean one of two things: the attribute is not applicable for certain occurrences of the entity, or the attribute applies to all entity occurrences, but the information may not always be known.

Craig Mullins | April 6, 2015

Work with Us

Let’s have a conversation about what you need to succeed and how we can help get you there.


Work for Us

Where do you want to take your career? Explore exciting opportunities to join our team.