Development of columnar storage in SQL Server

SQL Server introduced columnar storage in version 2012. Only NCCIs were supported. This means that you still need to have the original row storage, either organized as a heap or as a clustered index (CI). There are many other limitations, including the following:

  • Nonclustered columnstore index only
  • One per table
  • Must be partition-aligned
  • Table becomes read-only (partition switching allowed)
  • Unsupported types
    • Decimals greater than 18 digits
    • Binary, Image, CLR (including Spatial, HierarchyId)
    • (N)varchar(max), XML, Text, Ntext
    • Uniqueidentifier, Rowversion, SQL_Variant
    • Date/time types greater than 8 bytes

SQL Server 2014 introduced clustered columnstore indexes (CCI). This means that the original ...

Get SQL Server 2017 Developer's Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.