Sql-server – Does the table qualify for Clustered Columnstore index

columnstoresql serversql server 2014

I have a large table with 30 columns in MSSQL 2014.
The data will be inserted in bulks several times a day and the data should be kept for a month.

The purpose of it is to select aggregated queries. So it seems that Clustered Columnstore index is perfect for this.
Except that one column is varchar and holds URL values that usually don't repeat.
Will it work well with Columnstore? I worked with it , but only on data that hold numbers or repeating strings (like domain).

UPDATE
1. For purpose of importing and purging the table will be partitioned.
2. I don't have the exact DDL right now, because we are at the design stage.
Thanks

Best Answer

You may find that a clustered columnstore index on your table works well but I would really want to avoid having that VARCHAR column in a columnstore index. One of the problems this can cause is dictionary pressure.

As you are looking to partition the table and alter data via partition switching I would suggest building a non-clustered columnstore index on your table that does not include the VARCHAR column that contains URLs. This will make the table read-only but that doesn't stop you loading data in and out via partition switching.

The way I have done this in the past is to bulk load the data into a staging table, do any post load processing there and then switch the whole table into an empty partition in the main table. It can be fiddly but very effective.

The other option is to use SQL Server 2016 which allows updateable non clustered columnstore indexes.