Udostępnij za pośrednictwem


partycjonowanie

partycjonowanie bazy danych zwiększa wydajność i upraszcza konserwację.Dzieląc dużej tabela na mniejsze, poszczególne tabele, kwerendy, które uzyskują dostęp tylko część danych może działa szybciej, ponieważ istnieje mniejsza ilość danych do skanowania.Zadań konserwacyjnych, takich jak Odbudowa indeksów lub tworzenie kopii zapasowych tabela, można uruchomić szybciej.

partycjonowanie można osiągnąć bez dzielenia tabel fizycznie umieszczając tabel na poszczególnych dyskach.Putting a table on one physical drive and related tables on a separate drive can improve query performance because, when queries that involve joins between the tables are run, multiple disk heads read data at the same time.SQL Server filegroups can be used to specify on which disks to put the tables.

Partycjonowanie sprzętu

Partycjonowanie sprzętu projektuje bazy danych, aby wykorzystać zalety architektury dostępnego sprzętu.Poniżej podano przykłady sprzętu partycjonowanie:

  • Wiele procesorów, które umożliwiają wielu wątków operacji, pozwalających na wielu kwerend wykonywanych w tym samym czas.Można także pojedynczą kwerendę, może być w stanie uruchomić szybciej na wiele procesorów, umożliwiając składników kwerendę uruchomić w tym samym czas.Na przykład każdą tabela, do którego odwołuje się kwerendy mogą być skanowane w tym samym czas przez inny wątek.

  • Urządzenia RAID (redundant array of independent disks), które umożliwiają dane, które mają zostać rozłożone na kilku dyskach, umożliwiający szybszy dostęp do danych, ponieważ więcej odczytu i zapisu głowice odczytywać dane w tym samym czas.Tabela rozłożone na kilku dyskach można zazwyczaj skanowanego szybciej niż tej samej tabeli, które są przechowywane na jednym dysku.Można również przechowywanie na oddzielnych dyskach z tabel powiązanych tabel może znacznie poprawić wydajność kwerendy przyłączanie się do tych tabel.Aby uzyskać więcej informacji zobaczRAID.

Partycjonowanie poziome

partycjonowanie poziome dzieli tabela na kilka tabel.Każda tabela zawiera następnie tę samą liczbę kolumn, ale mniejszej liczby wierszy.Na przykład tabela zawierającej wiersze miliard 1 może być podzielone na partycje poziomo na 12 tabele z każdej tabela mniejszych reprezentującą miesiąc danych dla danego roku.Wszystkie kwerendy wymaga danych w określonym miesiącu tylko odwoływać się do odpowiedniej tabela.

Określania sposobu podzielić tabele na poziomie zależy od tego, w jaki sposób dane są analizowane.Tabele powinny partycji, dzięki czemu kwerendy odwoływać możliwie jak najmniejszej liczbie tabel.W przeciwnym razie nadmierne kwerendy UNION, używany do scalania w tabelach logicznie w czasie kwerendy może wpłynąć na wydajność.Aby uzyskać więcej informacji na temat kwerend tabel poziomo podzielonym na partycje Zobacz Scenarios for Using Views.

Partycjonowanie danych poziomo na podstawie wieku i użycia są często.Na przykład tabela może zawierać dane z ostatnich pięciu lat, ale regularnie jest dostępny tylko dane z bieżącego roku.W takim wypadku można rozważyć dzielony dane na pięć tabel z każdej tabela zawierającej dane z tylko jednego roku.

Aby uzyskać więcej informacji zobaczTabele podzielonym na partycje i indeksów.

Partycjonowanie pionowe

partycjonowanie pionowe dzieli tabela na kilka tabel, które zawierają mniej kolumn.Dwa rodzaje partycjonowanie pionowe są normalizacji i podział wiersza:

  • Normalizacja jest procesu standardowej bazy danych, usuwając zbędne kolumny z tabela i umieszczania ich w pomocniczym tabel, które są połączone z podstawowej tabela klucz podstawowy i obcego relacji kluczy.

  • Podział wiersza dzieli oryginalnej tabela pionowo na tabelach z mniejszą liczbą kolumn.Każdy wiersz logicznego podziału tabela jest taka sama, jak z tego samego wiersza logiczne w innych tabelach, określone przez kolumna klucz UNIQUE, która jest taka sama, jak we wszystkich tabelach podzielonym na partycje.Na przykład dołączanie do wiersza o identyfikatorze 712 z każdej tabela podziału odtwarza oryginalny wiersz.

partycjonowanie poziome, takich jak partycjonowanie pionowe umożliwia skanowanie mniej danych kwerendy.Zwiększa to wydajność kwerendy.Na przykład tabela, która zawiera siedem kolumn, których zazwyczaj odwołuje się tylko pierwsze cztery mogą korzystać z rozdzielania ostatnich trzech kolumn do oddzielnej tabeli.

partycjonowanie pionowe należy dokładnie rozważyć, ponieważ wymaga kwerendy, które się łączą tabele, analizowanie danych z wielu partycji.partycjonowanie pionowe również może wpływać na wydajność Jeśli partycje są bardzo duże.