Część literatury na temat kompresji danych SQL Server, którą czytam, stwierdza, że koszt zapisu wzrasta około czterokrotnie, co byłoby normalnie wymagane. Wydaje się również sugerować, że jest to główny minus kompresji danych, silnie sugerując, że w przypadku bazy danych archiwum tylko do odczytu wydajność (z kilkoma wyjątkami) poprawi się dzięki kompresji danych w 100% wypełnionych stronach.
- Czy powyższe stwierdzenia są prawdziwe?
Jakie są podstawowe „różnice” między kompresją danych a innymi metodami (do odczytu)
- „CPU + x%”?
- „IO -y%”?
- wystąpienie podziału strony?
- użycie tempdb?
- Wykorzystanie pamięci RAM?
- A do pisania?
Na potrzeby tego pytania możesz ograniczyć kontekst do kompresji na poziomie PAGE dużej bazy danych (> 1 TB) , ale dodatkowe komentarze są zawsze mile widziane.
Bibliografia:
Blog SQL Server Storage Engine (scenariusz DW pokazuje, że kompresja jest bardzo korzystna)
Kompresja danych: strategia, planowanie pojemności i najlepsze praktyki
Bardziej szczegółowe podejście do decyzji o tym, co należy skompresować, obejmuje analizę charakterystyki obciążenia dla każdej tabeli i indeksu. Opiera się na następujących dwóch metrykach:
U: Procent operacji aktualizacji na określonej tabeli, indeksie lub partycji w stosunku do łącznej liczby operacji na tym obiekcie. Im niższa wartość U (to znaczy tabela, indeks lub partycja jest rzadko aktualizowana), tym lepszy jest kandydat do kompresji strony.
S: Procent operacji skanowania tabeli, indeksu lub partycji w stosunku do łącznej liczby operacji na tym obiekcie. Im wyższa wartość S (tzn. Najczęściej skanowana jest tabela, indeks lub partycja), tym lepszy jest kandydat do kompresji strony.
Oba powyższe są wyraźnie tendencyjne do zalecania kompresji stron dla baz danych w stylu DW (operacje wymagające intensywnego odczytu / wyłączne, operacje na dużych danych).