Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Widok partycjonowany

Termin Definicja
Widok partycjonowany

Widok partycjonowany łączy dane z kilku tabel o identycznej strukturze, rozłożonych np. na różnych serwerach.

Jak działa widok partycjonowany

Widok partycjonowany jest obiektem logicznym, który przedstawia dane pochodzące z kilku tabel mających zgodny układ kolumn. Tabele te mogą przechowywać różne fragmenty tego samego zbioru, na przykład rekordy z kolejnych okresów, oddziałów albo zakresów identyfikatorów. Użytkownik lub aplikacja odwołuje się do widoku tak, jak do jednej tabeli, choć system zarządzania bazą danych musi pobrać dane z tabel składowych i połączyć je w jeden wynik.

Najczęściej taki widok wykorzystuje operator UNION ALL, ponieważ poszczególne tabele zawierają rozłączne części danych. Każda gałąź zapytania powinna zwracać kolumny w tej samej kolejności oraz zgodnych typach danych. Jeżeli tabele znajdują się w różnych bazach lub na różnych serwerach, potrzebny jest mechanizm odwołań zdalnych, taki jak połączenie do zewnętrznego źródła danych obsługiwane przez dany system bazodanowy. Wtedy widok nie przenosi danych do jednego miejsca, lecz tworzy wspólną warstwę dostępu.

Warunki poprawnego podziału danych

Sam identyczny schemat tabel nie gwarantuje, że widok będzie działał prawidłowo. Ważne jest określenie reguły przynależności rekordu do konkretnej tabeli. Jeżeli podział odbywa się według zakresu wartości, jedna tabela może zawierać na przykład identyfikatory od jednego zakresu granicznego do drugiego, a kolejna następny zakres. Granice powinny być rozłączne, aby ten sam rekord nie pojawiał się w dwóch tabelach, i kompletne, aby rekordy spełniające założenia nie znikały z widoku.

W praktyce reguły te są często zapisane w ograniczeniach CHECK na tabelach źródłowych. Ograniczenie może wymuszać, aby kolumna daty mieściła się w określonym przedziale albo aby identyfikator należał do przypisanego zakresu. Przy zapytaniu dotyczącym konkretnego fragmentu danych optymalizator może wykorzystać te informacje do pominięcia tabel, których zakres nie pasuje do warunku. Taka eliminacja gałęzi zapytania jest możliwa tylko wtedy, gdy reguły są jednoznaczne, zgodne z rzeczywistymi danymi i rozpoznawane przez konkretny silnik bazy danych.

Zapytania, modyfikacje i ograniczenia

Widok partycjonowany upraszcza odczyt, ale nie usuwa kosztów wynikających z rozproszenia danych. Zapytanie bez warunku ograniczającego zakres może wymagać odczytania wszystkich tabel składowych, a następnie połączenia wyników. Przy źródłach zdalnych dochodzi czas przesyłania danych, uwierzytelniania i obsługi połączeń. Znaczenie mają również indeksy założone w tabelach bazowych, zwłaszcza na kolumnach wykorzystywanych do filtrowania i sortowania.

Możliwość wykonywania przez widok operacji INSERT, UPDATE lub DELETE zależy od konstrukcji widoku i reguł konkretnego systemu bazodanowego. Proste widoki oparte na zgodnych tabelach i UNION ALL mogą w niektórych silnikach obsługiwać modyfikacje, jeżeli system potrafi jednoznacznie ustalić tabelę docelową na podstawie warunków podziału. Bardziej złożone wyrażenia, agregacje, połączenia między tabelami albo niejednoznaczne zakresy mogą ograniczyć taką możliwość lub wymagać dodatkowych mechanizmów, na przykład wyzwalaczy. Dokumentacja używanego silnika jest w tym miejscu konieczna, ponieważ zachowanie nie jest jednakowe we wszystkich bazach danych.

Kontrola spójności widoku partycjonowanego

Diagnostyka powinna obejmować porównanie definicji wszystkich tabel: nazw i kolejności kolumn, typów danych, możliwości występowania wartości NULL, kluczy oraz ograniczeń. Należy także sprawdzić, czy żadna tabela nie zawiera rekordów poza przypisanym zakresem i czy zakresy nie nakładają się na siebie. Pomocne są zapytania kontrolne wyszukujące duplikaty kluczy w całym zbiorze oraz rekordy, które nie spełniają warunków podziału. Trzeba również zweryfikować uprawnienia do tabel lokalnych i źródeł zdalnych, ponieważ brak dostępu do jednej gałęzi może powodować błąd całego odczytu.

W środowisku komputerowym problem z widokiem może objawiać się niepełnymi wynikami aplikacji, błędami zapisu, długim oczekiwaniem na dane albo komunikatem o niedostępnym źródle. Przydatne jest rozdzielenie awarii sprzętowej od problemu logicznego: należy sprawdzić stabilność połączenia, dostępność dysków i usług, stan systemu operacyjnego oraz logi aplikacji, a następnie wykonać kontrolne zapytania bezpośrednio do tabel. W przypadku uszkodzenia laptopa, komputera PC lub podzespołu

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę