Strojenie wydajności hurtowni danych za pomocą indeksów. Jestem dość nowy w SQL Server 2014. Microsoft opisuje następujące kwestie:
„Uważamy indeks klastrowanego magazynu kolumn za standard do przechowywania tabel faktów hurtowni dużych danych i oczekujemy, że będzie on używany w większości scenariuszy hurtowni danych. Ponieważ indeks klastrowanego magazynu kolumn jest aktualizowalny, obciążenie może wykonać dużą liczbę operacji wstawiania, aktualizacji, i usuń operacje ”. http://msdn.microsoft.com/en-us/library/gg492088.aspx
Jeśli jednak przeczytasz dalej w dokumentacji, znajdziesz pod ograniczeniami:
„Nie może mieć unikalnych ograniczeń, ograniczeń klucza podstawowego ani ograniczeń klucza obcego”.
To mnie bardzo myli! Dobrą praktyką (nieobowiązkową) jest posiadanie kluczy obcych w hurtowni danych z różnych powodów (integralność danych, relacje widoczne dla warstwy semantycznej ...)
Dlatego firma Microsoft zaleca klastrowane indeksy magazynu kolumn dla scenariuszy hurtowni danych; jednak nie może obsłużyć relacji klucza obcego ?!
Czy mam rację? Jakie inne podejścia doradzasz? W przeszłości korzystałem z nieklastrowanego indeksu magazynu kolumn w scenariuszach hurtowni danych, z upuszczaniem i przebudowywaniem dla ładowań danych. Jednak SQL Server 2014 nie dodaje żadnej nowej wartości dla hurtowni danych?