xVelocity
xVelocity xVelocity
Columnstore Rowstore
Data grouped & stored one column at a time Data grouped and stored by row
Only the columns needed for a given query must be
readRead entire row then filter result
Natively compressed Manually compressed
Columnar data streamed in batches Native I/O stream
No key columns Key columns (limit of 16)
Supports partitioning Supports partitioning
Batch-mode optimization Bitmap indexes, bitmap filters
http://msdn.microsoft.com/en-US/library/gg492088(v=sql.120).aspx
Pros Cons
On average, 5-100(!) times query performance versus
rowstore for large table queries
Limit of ONE columnstore index on a table (cannot
combine clustered and non-clustered CI)
Efficient storage and retrieval - On average, 7-12 times
compression versus rowstore
Clustered indexes do not support declarative referential
integrity (i.e. key columns and references)
Simplicity – easy to create, easy to manageNonclustered indexes do not support updates of any
kind (must drop & recreate OR use partition switching)
Optimized for VLDB/DSS/EDW/ODSDoes not support all data types, replication, change
tracking, filestream, CDC, page/row compression
DEMO
SQL Server 2014 Columnstore Indexes Reference:
http://msdn.microsoft.com/en-us/library/gg492088(v=sql.120).aspx
CREATE COLUMNSTORE INDEX (T-SQL Reference):
http://msdn.microsoft.com/en-us/library/gg492153(v=sql.120).aspx
What’s new in SQL Server 2014
http://msdn.microsoft.com/library/bb500435(v=sql.120).aspx
Columnstore Index FAQ:
http://social.technet.microsoft.com/wiki/contents/articles/3540.sql-
server-columnstore-index-faq.aspx