Udostępnij za pośrednictwem


Projektowania rozproszonych na partycje widoków

Podczas projektowania zestaw widoków podzielonych rozproszonych do zaimplementowania Federacji serwerów baz danych, należy rozważyć następujące kwestie:

  • Określić wzorzec instrukcje SQL wykonywane przez aplikację

  • Określają, jak te tabele są powiązane ze sobą.

  • Dopasować częstotliwość instrukcji SQL przeciwko zdefiniowane na podstawie analizy klucze obce partycje.

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

Deseń instrukcje SQL wykonywane przez aplikację

Opracowanie listy instrukcji SQL, które będą wykonywane przez aplikację w okresach typowy przetwarzania.Podzielić liście SELECT, UPDATE, INSERT, usuwać kategorie i kolejność listy w każdej kategorii przez częstotliwość wykonywania.Jeżeli instrukcje SQL odwołać procedur przechowywanych, użyj Wybierz podstawowy, INSERT, UPDATE i usuwanie instrukcji procedura składowana.Jeśli jesteś partycjonowanie istniejący SQL Server bazy danych, można użyć SQL Server Profiler do uzyskania 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 rozproszonych pracy widoków partycji.Te systemy są charakteryzowane przez posiadające pojedyncze instrukcje SQL pobierające stosunkowo niewielkich ilości danych w porównaniu z typów kwerend w obsługi wspomaganie decyzji lub OLAP systemu.Podczas każdej instrukcja języka SQL odwołuje się do małych ilości danych, właśnie badanie częstotliwości Każda instrukcja daje rozsądne przybliżenie ruchu danych w systemie.Jednakże wiele systemów mają niektóre grupy instrukcje SQL odwołujące się do danych.Możesz podjąć dodatkowe kroku ważenia te kwerendy, aby odzwierciedlić ich większe wymagania dotyczące danych.

Relacje tabel

Zamiarem jest znalezienie klastrów tabel, które można podzielić na partycje wzdłuż tego samego wymiar, na przykład numer części lub numer działu; tak, aby wszystkie wiersze związane z indywidualnymi wystąpieniami tego wymiar spowoduje utworzenie na tym samym element członkowski serwera.Na przykład może określić, że jednym ze sposobów dzielenia bazy danych jest według region.W tym nawet tabel, które nie mają numer region w ich klucz musi móc partycje w jakikolwiek sposób powiązany z region.W bazie, nawet po klienta tabela nie ma kolumny liczb region, jeśli regiony są zdefiniowane jako kolekcje całego województw, Customer.StateProvince kolumna może być wykorzystana do klientów w sposób związane z regionu partycji.

Ponieważ definiują relacje między tabelami, bezpośrednie i pośrednie klucze obce są podstawowe elementy do przeglądania w poszukiwaniu sposobów danych partycji.Badanie jawne definicje klucz obcy do określenia, jak kwerendy byłyby często używają 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 szczególne definiowania klucz obcy.Ponieważ klucze obce niejawne nie są jawnie zdefiniowane jako część schemat bazy danych, musi przejrzeć instrukcje SQL generowany przez aplikację, aby dowiedzieć się, czy utworzyć łączyć między tabelami przy użyciu kolumnami instrukcji.Niejawna klucze obce zazwyczaj są indeksowane w celu poprawy wydajności łączyć.Dlatego należy również przeczytać indeksy zdefiniowane w bazie danych.

Częstotliwość instrukcji SQL przeciwko partycje

Dopasować częstotliwość instrukcji SQL przeciwko zdefiniowane na podstawie analizy klucze obce partycje.Wybierz partycjonowanie , najlepiej będzie obsługiwać wymieszać instrukcji SQL w aplikacji.Jeśli niektóre zestawy tabel można podzielić na partycje w więcej niż jeden sposób, używają częstotliwości instrukcji SQL do określenia partycji spełnia największą liczbę instrukcji SQL.Tabele najczęściej odwołuje instrukcji SQL są te, które chcesz najpierw partycji.Priorytety sekwencji, w której partycji tabele oparte na częstotliwości, w którym odwołuje się tabelami.

Deseń instrukcji SQL wpływa również decyzję w sprawie czy partycje tabela:

  • Partycji tabela, jeśli więcej niż 5 procent instrukcji odwołującego się do tabela instrukcji INSERT, UDATE lub DELETE i tabela można podzielić na partycje wzdłuż wybranego wymiar.

  • Utrzymywać pełne kopie tabel na każdym element członkowski serwera, jeśli mniej niż 5 procent instrukcji odwołującego się do tabela instrukcji INSERT, UPDATE lub DELETE.Ponadto należy zdefiniować jak zaktualizowane tak, aby wszystkie kopie tabela są aktualizowane.Jeśli wymagany jest wysoki transakcyjnych integralność, można kodu wyzwalaczy, które wykonują aktualizacje rozproszonych wszystkich kopii w kontekście transakcja rozproszona.Jeśli nie potrzebujesz wysokiej transakcyjnych integralność, można użyć jednej z SQL Server mechanizmów replikacja do propagowania aktualizacje z jedną kopię tabela wszystkie pozostałe kopie.

  • Nie partycje lub kopiowanie tabela, jeśli więcej niż 5 procent instrukcji odwołującego się do tabela są wstawianie, UDATE, lub usunąć sprawozdań i tabela nie może być podzielone na partycje wzdłuż wymiar wybranego.

Reguły routingu instrukcji SQL

Reguły routingu musi być w stanie zdefiniować, które element członkowski serwer może przetwarzać najbardziej skutecznie każdej instrukcja języka SQL.Ustanawiają one relacji między kontekstu danych wejściowych użytkownika i element członkowski serwera, który zawiera zbiorcze dane wymagane do wykonania instrukcja.Aplikacje muszą być w stanie podjąć fragment danych wprowadzonych przez użytkownika i odpowiedniki reguł routingu, aby określić, które element członkowski serwera należy przetworzyć instrukcja języka SQL.