Rozproszony DBMS - środowiska baz danych
W tej części samouczka przeanalizujemy różne aspekty pomocne w projektowaniu środowisk rozproszonych baz danych. Ten rozdział rozpoczyna się od typów rozproszonych baz danych. Rozproszone bazy danych można podzielić na jednorodne i niejednorodne bazy danych posiadające dalsze podziały. Następna sekcja tego rozdziału omawia rozproszone architektury, a mianowicie klient-serwer, każdy z każdym i multi-DBMS. Na koniec przedstawiono różne alternatywy projektowe, takie jak replikacja i fragmentacja.
Typy rozproszonych baz danych
Rozproszone bazy danych można ogólnie podzielić na jednorodne i heterogeniczne rozproszone środowiska baz danych, z których każde ma dalsze podziały, jak pokazano na poniższej ilustracji.
Jednorodne rozproszone bazy danych
W jednorodnej, rozproszonej bazie danych wszystkie witryny używają identycznego DBMS i systemów operacyjnych. Jego właściwości to -
Witryny używają bardzo podobnego oprogramowania.
Witryny używają identycznego DBMS lub DBMS od tego samego dostawcy.
Każda witryna zna wszystkie inne witryny i współpracuje z innymi witrynami w celu przetwarzania żądań użytkowników.
Dostęp do bazy danych uzyskuje się za pośrednictwem jednego interfejsu, tak jakby była to pojedyncza baza danych.
Typy jednorodnej rozproszonej bazy danych
Istnieją dwa typy jednorodnej rozproszonej bazy danych -
Autonomous- Każda baza danych jest niezależna i funkcjonuje samodzielnie. Są one zintegrowane z aplikacją sterującą i wykorzystują przekazywanie komunikatów do udostępniania aktualizacji danych.
Non-autonomous - Dane są dystrybuowane w jednorodnych węzłach, a centralny lub nadrzędny system DBMS koordynuje aktualizacje danych w lokalizacjach.
Heterogeniczne rozproszone bazy danych
W heterogenicznej rozproszonej bazie danych różne witryny mają różne systemy operacyjne, produkty DBMS i modele danych. Jego właściwości to -
Różne witryny używają odmiennych schematów i oprogramowania.
System może składać się z różnych systemów DBMS, takich jak relacyjne, sieciowe, hierarchiczne lub obiektowe.
Przetwarzanie zapytań jest złożone z powodu różnych schematów.
Przetwarzanie transakcji jest skomplikowane ze względu na różne oprogramowanie.
Witryna może nie wiedzieć o innych witrynach, dlatego współpraca przy przetwarzaniu żądań użytkowników jest ograniczona.
Typy heterogenicznych rozproszonych baz danych
Federated - Heterogeniczne systemy baz danych są z natury niezależne i zintegrowane razem, dzięki czemu działają jako jeden system baz danych.
Un-federated - Systemy baz danych wykorzystują centralny moduł koordynujący, za pośrednictwem którego uzyskuje się dostęp do baz danych.
Rozproszone architektury DBMS
Architektury DDBMS są generalnie opracowywane w zależności od trzech parametrów -
Distribution - Określa fizyczną dystrybucję danych w różnych lokalizacjach.
Autonomy - Wskazuje podział kontroli nad systemem baz danych i stopień, w jakim każdy składowy DBMS może działać niezależnie.
Heterogeneity - Odnosi się do jednolitości lub odmienności modeli danych, komponentów systemu i baz danych.
Modele architektoniczne
Niektóre z typowych modeli architektonicznych to -
- Architektura klient - serwer dla DDBMS
- Architektura peer-to-peer dla DDBMS
- Architektura Multi - DBMS
Architektura klient - serwer dla DDBMS
Jest to architektura dwupoziomowa, w której funkcjonalność jest podzielona na serwery i klientów. Funkcje serwera obejmują przede wszystkim zarządzanie danymi, przetwarzanie zapytań, optymalizację i zarządzanie transakcjami. Funkcje klienta obejmują głównie interfejs użytkownika. Mają jednak pewne funkcje, takie jak sprawdzanie spójności i zarządzanie transakcjami.
Dwie różne architektury klient-serwer to -
- Jeden serwer, wielu klientów
- Multiple Server Multiple Client (pokazany na poniższym diagramie)
Architektura peer-to-peer dla DDBMS
W tych systemach każdy peer działa zarówno jako klient, jak i serwer w celu przekazywania usług bazy danych. Rówieśnicy dzielą się swoimi zasobami z innymi rówieśnikami i koordynują swoje działania.
Ta architektura ma ogólnie cztery poziomy schematów -
Global Conceptual Schema - Przedstawia globalny logiczny widok danych.
Local Conceptual Schema - Przedstawia logiczną organizację danych w każdym miejscu.
Local Internal Schema - Przedstawia fizyczną organizację danych w każdej lokalizacji.
External Schema - Przedstawia widok danych użytkownika.
Architektury Multi - DBMS
Jest to zintegrowany system baz danych utworzony przez zbiór dwóch lub więcej autonomicznych systemów baz danych.
Multi-DBMS można wyrazić za pomocą sześciu poziomów schematów -
Multi-database View Level - Przedstawia wiele widoków użytkowników składających się z podzbiorów zintegrowanej rozproszonej bazy danych.
Multi-database Conceptual Level - Przedstawia zintegrowaną wiele baz danych, która zawiera globalne logiczne definicje struktur wielu baz danych.
Multi-database Internal Level - Przedstawia dystrybucję danych w różnych lokalizacjach i mapowanie wielu baz danych do lokalnych danych.
Local database View Level - Przedstawia publiczny widok danych lokalnych.
Local database Conceptual Level - Przedstawia lokalną organizację danych w każdym miejscu.
Local database Internal Level - Przedstawia fizyczną organizację danych w każdej lokalizacji.
Istnieją dwie alternatywy projektowe dla wielu DBMS -
- Model z poziomem koncepcyjnym obejmującym wiele baz danych.
- Model bez poziomu koncepcyjnego obejmującego wiele baz danych.
Alternatywy projektowe
Alternatywy projektu dystrybucji dla tabel w DDBMS są następujące -
- Brak replikacji i fragmentacji
- W pełni zreplikowane
- Częściowo zreplikowane
- Fragmented
- Mixed
Brak replikacji i fragmentacji
W tej alternatywnej konstrukcji różne tabele są umieszczane w różnych miejscach. Dane są umieszczane tak, aby znajdowały się blisko miejsca, w którym są najczęściej używane. Jest najbardziej odpowiedni dla systemów baz danych, w których odsetek zapytań potrzebnych do połączenia informacji w tabelach umieszczonych w różnych witrynach jest niski. Jeśli zostanie przyjęta odpowiednia strategia dystrybucji, ta alternatywa projektowa pomaga zmniejszyć koszty komunikacji podczas przetwarzania danych.
W pełni zreplikowane
W tym alternatywnym projekcie w każdej lokacji przechowywana jest jedna kopia wszystkich tabel bazy danych. Ponieważ każda witryna ma swoją własną kopię całej bazy danych, zapytania są bardzo szybkie i wymagają znikomych kosztów komunikacji. Wręcz przeciwnie, ogromna nadmiarowość danych wymaga ogromnych kosztów podczas operacji aktualizacji. Dlatego jest to odpowiednie dla systemów, w których wymagana jest obsługa dużej liczby zapytań, podczas gdy liczba aktualizacji baz danych jest niska.
Częściowo zreplikowane
Kopie tabel lub części tabel są przechowywane w różnych witrynach. Dystrybucja tabel odbywa się zgodnie z częstotliwością dostępu. Uwzględnia to fakt, że częstotliwość uzyskiwania dostępu do tabel różni się znacznie w zależności od lokalizacji. Liczba kopii tabel (lub ich części) zależy od częstotliwości wykonywania zapytań dostępu oraz od witryny, która je generuje.
Fragmentowane
W tym projekcie tabela jest podzielona na dwie lub więcej części zwanych fragmentami lub partycjami, a każdy fragment może być przechowywany w różnych miejscach. Uwzględnia to fakt, że rzadko zdarza się, że wszystkie dane przechowywane w tabeli są wymagane w danej witrynie. Ponadto fragmentacja zwiększa równoległość i zapewnia lepsze odzyskiwanie po awarii. Tutaj jest tylko jedna kopia każdego fragmentu w systemie, czyli brak zbędnych danych.
Trzy techniki fragmentacji to -
- Fragmentacja pionowa
- Pozioma fragmentacja
- Fragmentacja hybrydowa
Dystrybucja mieszana
Jest to połączenie fragmentacji i częściowych replikacji. Tutaj tabele są początkowo pofragmentowane w dowolnej formie (poziomej lub pionowej), a następnie te fragmenty są częściowo replikowane w różnych miejscach zgodnie z częstotliwością uzyskiwania dostępu do fragmentów.