New SQL Server Promises Improved Columnstore Features

By | In Blog, SQL Server | October 26th, 2013

The newest release of Microsoft SQL Server — Microsoft SQL Server 2014Rafael Saldana | Ikarusmedia — resolves some issues database professionals previously experienced with columnstore indexes.

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.

Contact Us
Eric Russo
Senior Vice President of Database Services
Eric Russo is SVP of Database Services overseeing all of Datavail’s database practices including project and managed services for MS SQL, Oracle, Oracle EBS, MySQL, MongoDB, SharePoint and DB2. He is also the Product Owner for Datavail Delta, a database monitoring tool. He has 21 years’ experience in technology including 16 years in database management. His management success and style has attracted top DBAs from around the world to create one of the most talented and largest SQL Server teams. He has been with Datavail since 2008: previous to that his work experiences include DBA Manager at StrataVia, Senior Web Developer at Manifest Information Systems and SQL Server DBA at Clark County, Nevada.

Leave a Reply

Your email address will not be published.
Required fields are marked (*).