Równoległa baza danych - Parallel database

System równoległej bazy danych dąży do poprawy wydajności poprzez zrównoleglenie różnych operacji, takich jak ładowanie danych, budowanie indeksów i ocena zapytań. Chociaż dane mogą być przechowywane w sposób rozproszony, dystrybucja jest regulowana wyłącznie względami wydajności. Równoległe bazy danych zwiększają szybkość przetwarzania i wejścia/wyjścia dzięki równoległemu wykorzystaniu wielu procesorów i dysków. Scentralizowane i klient-serwer systemy baz danych nie są wystarczająco wydajne, aby obsługiwać takie aplikacje. W przetwarzaniu równoległym wiele operacji jest wykonywanych jednocześnie, w przeciwieństwie do przetwarzania szeregowego, w którym kroki obliczeniowe są wykonywane sekwencyjnie. Bazy danych równoległych można z grubsza podzielić na dwie grupy, pierwsza grupa architektury to architektura wieloprocesorowa, której alternatywy są następujące:

Architektura pamięci współdzielonej
Gdy wiele procesorów współdzieli przestrzeń pamięci głównej (RAM), ale każdy procesor ma swój własny dysk (HDD). Jeśli wiele procesów działa jednocześnie, prędkość jest zmniejszona, tak samo jak w przypadku działania wielu równoległych zadań i spowolnienia komputera.
Architektura dysku współdzielonego
Każdy węzeł ma własną pamięć główną, ale wszystkie węzły współdzielą pamięć masową, zwykle sieć pamięci masowej . W praktyce każdy węzeł ma zwykle również wiele procesorów.
Architektura nic współdzielonego
Gdzie każdy węzeł ma swoją własną pamięć masową, a także pamięć główną.

Druga grupa architektur nazywana jest architekturą hybrydową, która obejmuje:

  • Architektura pamięci niejednolitej (NUMA), która obejmuje niejednorodny dostęp do pamięci .
  • Klaster (nic współdzielone + dysk współdzielony: SAN/NAS), który tworzy grupa połączonych komputerów.

w tym przypadku przełączniki lub koncentratory są używane do łączenia różnych komputerów w najtańszy i najprostszy sposób, do łączenia różnych komputerów używane są tylko proste topologie. znacznie mądrzejszy, jeśli zaimplementowano przełączniki .

Rodzaje równoległości

Równoległość wewnątrzzapytaniowa
Pojedyncze zapytanie wykonywane równolegle przy użyciu wielu procesorów lub dysków.
Niezależny równoległość
Wykonywanie każdej operacji indywidualnie w różnych procesorach tylko wtedy, gdy można je wykonać niezależnie od siebie. Na przykład, jeśli musimy połączyć cztery stoły, to dwa można połączyć na jednym procesorze, a pozostałe dwa na innym procesorze. Ostateczne połączenie można wykonać później.
Równoległość w rurociągu
Wykonywanie różnych operacji w sposób rurociągowy. Na przykład, jeśli potrzebujemy połączyć trzy tabele, jeden procesor może połączyć dwie tabele i wysłać rekordy zestawu wyników w momencie ich wyprodukowania do drugiego procesora. W drugim procesorze trzecia tabela może zostać połączona z przychodzącymi rekordami i można uzyskać ostateczny wynik.
Równoległość międzyoperacyjna
Wykonywanie pojedynczych złożonych lub dużych operacji równolegle na wielu procesorach. Na przykład klauzula ORDER BY zapytania, które próbuje wykonać na milionach rekordów, może być zrównoleglona na wielu procesorach.

Bibliografia