Я настраиваю производительность хранилища данных, используя индексы. Я довольно новичок в SQL Server 2014. Microsoft описывает следующее:
«Мы рассматриваем кластеризованный индекс columnstore как стандарт для хранения больших таблиц фактов хранилища данных и ожидаем, что он будет использоваться в большинстве сценариев хранилища данных. Поскольку кластеризованный индекс columnstore является обновляемым, ваша рабочая нагрузка может выполнять большое количество операций вставки, обновления, и удалить операции. " http://msdn.microsoft.com/en-us/library/gg492088.aspx
Однако, если вы будете читать дальше в документации, вы найдете под ограничениями и ограничениями:
«Не может быть уникальных ограничений, ограничений первичного ключа или ограничений внешнего ключа».
Это меня сильно смущает! Рекомендуется (не обязательно) иметь внешние ключи в хранилище данных по разным причинам (целостность данных, отношения, видимые для семантического уровня ...)
Поэтому Microsoft поддерживает кластерные индексы хранилища столбцов для сценариев хранилища данных; тем не менее, он не может справиться с отношениями внешнего ключа ?!
Я прав в этом? Какие другие подходы вы бы посоветовали? В прошлом я использовал некластеризованный индекс хранилища столбцов в сценариях хранилища данных с удалением и перестройкой для загрузки данных. Однако SQL Server 2014 не добавляет реального нового значения для хранилищ данных.