Udostępnij za pośrednictwem


Designing Distributed Partitioned Views

Podczas projektowania zestaw rozproszonych widoków podzielonym na partycje, do implementowania Federacja serwerów bazy danych, należy wziąć pod uwagę następujące kwestie:

  • Określenie struktury instrukcje wykonywane przez aplikację

  • Określa, w jaki sposób tabele są powiązane ze sobą.

  • Dopasować częstotliwość instrukcji SQL przed partycje, zdefiniowane na podstawie analizy kluczy obcych.

  • Definiowanie reguł rozsyłania instrukcja języka SQL.

Wzorzec wykonywanymi przez aplikację instrukcje SQL

Rozwijanie listy instrukcji SQL, która zostanie wykonana przez aplikację w okresach typowe przetwarzania.Podzielić na liście SELECT, UPDATE, INSERT, DELETE kategorii, a kolejność na liście w każdej kategorii przez częstotliwość wykonywania.Jeśli instrukcje SQL odwołać procedur przechowywanych, za pomocą bazowego SELECT, INSERT, UPDATE i DELETE instrukcji procedura przechowywana.Jeśli są partycjonowanie, istniejącego SQL Server Baza danych, można użyć SQL Server Profiler Aby uzyskać takiej listy.

Zalecenia dotyczące korzystania z częstotliwością instrukcji SQL jest rozsądne przybliżenie w typowej transakcji online (OLTP) przetwarzania lub bazy danych witryna sieci Web, w którym najlepiej rozkład pracy widoki na podzielonym na partycje.Te systemy charakteryzuje o poszczególnych instrukcji SQL, których pobieranie stosunkowo niewielkich ilości danych w porównaniu z typów kwerend obsługi wspomaganie decyzji lub OLAP systemu.Po każdej instrukcja języka SQL odwołuje się niewielka ilość danych, tak samo badanie częstotliwość każdej instrukcja daje rozsądne przybliżenie ruchu danych w systemie.Jednak wiele systemów znajdować się kilka grup instrukcje SQL odwołujące się do dużej ilości danych.Może zajść konieczność podjęcia dodatkowych czynności z wagi te kwerendy w celu odzwierciedlenia ich większe wymagania dotyczące danych.

Relacje tabel

Wprowadza do znalezienia klastrów tabel, które mogą być podzielone na partycje tego samego wymiaru, na przykład numer katalogowy lub numeru działu, dzięki czemu wszystkie wiersze dotyczące poszczególnych wystąpień tego wymiaru zakończy na tym samym serwerze członkowskim.Może na przykład okaże się, że jednym ze sposobów podziału bazy danych jest według region.W tym nawet tabel, które nie mają numer region swój klucz musi być może być podzielony na partycje w jakikolwiek sposób związane z danym regionie.W takich z bazą danych, nawet jeżeli Odbiorcy tabela nie ma numeru kolumny region, jeśli regiony są określane jako zbiory całych stanów lub prowincji, Customer.StateProvince kolumna może być wykorzystana do klientów w sposób związane z regionem partycji.

Ponieważ definiują relacje między tabelami wyraźne i niejawna kluczy obcych stanowią podstawowe elementy do przeglądania w poszukuje sposoby partycji danych.Badanie jawne definicje klucz obcy do określenia, w jaki sposób kwerendy będzie często używane wierszy w jednej tabela do znajdowania wierszy w innej tabela.Badanie również niejawna kluczy obcych, lub że instrukcjach SQL użyć sposobów wartości w wierszach w jednej tabela do odwołania wierszy z innej tabela w operacji łączyć, nawet wtedy, gdy nie ma żadnych określonych definicję klucz obcy.Ponieważ niejawna kluczy obcych nie są jawnie zdefiniowane jako części schemat bazy danych, należy zapoznać się generowane przez aplikację, aby dowiedzieć się, czy istnieją instrukcji, które łączyć między tabelami przy użyciu kolumn nonkey instrukcje SQL.Klucze obce niejawna zazwyczaj są indeksowane, aby zwiększyć wydajność łączyć.Dlatego też należy również przeczytać indeksów, zdefiniowanych w bazie danych.

Częstotliwość instrukcje SQL przed partycji

Dopasować częstotliwość instrukcji SQL przed partycje, zdefiniowane na podstawie analizy kluczy obcych.Umożliwia wybranie partycjonowanie, która najlepiej będzie obsługiwać z różnymi instrukcji SQL w aplikacji.Jeśli niektóre zestawy tabele mogą być podzielone na partycje w więcej niż jednym ze sposobów, używają częstotliwości instrukcji SQL, aby ustalić, które partycje spełnia największą liczbę instrukcji SQL.Tabele, najczęściej zawiera odwołanie do instrukcji SQL są te, które mają zostać najpierw partycji.Określanie priorytetów w sekwencji, w którym Partycjonowanie tabel, w zależności od częstotliwości, w którym odwołania do tabel.

Deseń instrukcji SQL wpływa również decyzji dotyczącej czy tabela powinna być podzielone na partycje:

  • Tabela, jeśli więcej niż 5 procent instrukcje odwołują się do tabeli znajdują się instrukcje INSERT, UDATE lub DELETE, a wybranego wymiaru mogą być podzielone na partycje w tabeli partycji.

  • Utrzymanie pełne kopie tabel na każdym element członkowski serwera, jeśli mniej niż 5 procent instrukcje odwołują się do tabela są instrukcje INSERT, UPDATE lub DELETE.Należy również zdefiniować dokonano aktualizacji, aby wszystkie kopie w tabela są aktualizowane.Jeśli wymagany jest wysoki integralność transakcyjnych, może się kodu wyzwalaczy, które wykonują aktualizacje rozproszonych wszystkich kopii w kontekście transakcja rozproszona.Jeśli nie ma potrzeby wysokiej integralność transakcyjnych, można użyć jednej z SQL Server mechanizmy replikacja do propagowania aktualizacje z jedną kopię tabela do drugiej kopii.

  • Nie należy podzielić na partycje ani kopiowanie tabela, jeśli więcej niż 5 procent instrukcje odwołują się do tabela są INSERT UDATE, lub instrukcji DELETE, a w tabela nie może być podzielone na partycje wybranego wymiaru.

Reguły routingu instrukcja języka SQL

Reguły routingu muszą być w stanie określić, które element członkowski serwer najbardziej efektywny sposób może przetwarzać każdej instrukcja języka SQL.Muszą one ustanowić relację między kontekstu danych wejściowych użytkownika oraz element członkowski serwera, który zawiera część danych wymaganych do wykonania instrukcja.Aplikacji musi być w stanie wykonać fragment danych wprowadzonych przez użytkownika i porównuje ją przed regułami routingu do określenia serwera członkowskiego, który ma być przetwarzana w instrukcja języka SQL.