Zalecane, 2022

Wybór Redakcji

Różnica między dublowaniem a replikacją

Odzwierciedlanie i replikacja to terminy w jakiś sposób związane z kopiowaniem danych w systemie DBMS. Wcześniejsza różnica między tworzeniem kopii lustrzanych a replikacją polega na tym, że tworzenie kopii lustrzanych odnosi się do kopiowania bazy danych do innej lokalizacji, podczas gdy replikacja obejmuje kopiowanie danych i obiektów bazy danych z jednej bazy danych do innej bazy danych.

Dublowanie i replikacja są korzystne i zwiększają dostępność i wydajność danych lub bazy danych.

Wykres porównania

Podstawa do porównaniaOdbicie lustrzaneReplikacja
PodstawowyUtworzenie kopii bazy danych w innej lokalizacji (maszyna).Stworzenie obiektu danych i bazy danych w celu usprawnienia operacji dystrybucji.
Wykonany naBaza danychTylko obiekty danych i bazy danych
Zlokalizowany naRóżne maszynyRóżne bazy danych
KosztBardzo drogiNiedrogi
Rozproszona baza danychBrak wsparcia dla rozproszonej obsługi baz danychObsługuje rozproszoną bazę danych

Definicja dublowania

Odbicie lustrzane to proces generowania wielu kopii baz danych i jest również znany jako shadowing . Te kopie bazy danych zwykle znajdują się na różnych maszynach. Jeśli jakikolwiek serwer główny ulegnie awarii lub zostanie włączony w celu przeprowadzenia konserwacji, w tym momencie system może automatycznie przełączyć się na awaryjną bazę danych. W dowolnym momencie dostępna jest tylko jedna kopia.

Ścisłe powiązanie między podstawową bazą danych a dublowaną bazą danych jest ustanawiane za pomocą wysyłania bloków dziennika transakcji do lustrzanej bazy danych. W przypadku jakiejkolwiek awarii, może również przywrócić dane, kopiując je z jednej bazy danych do drugiej. Kiedy następuje przełączanie awaryjne, baza danych lustrzanych staje się bazą główną.

Tworzenie kopii lustrzanej polega na ponownym wprowadzeniu aktualizacji, operacji wstawiania i usuwania, które zostały zatwierdzone w podstawowej bazie danych do bazy lustrzanej bez żadnych opóźnień. W trybie całkowicie bezpiecznym transakcja nie może zostać zatwierdzona, dopóki rekordy dziennika dla transakcji nie znajdą się na dysku na serwerze lustrzanym. Odbicie lustrzane nie obsługuje rozproszonej bazy danych.

Definicja replikacji

Replikacja to proces tworzenia dystrybucji redundantnych danych i obiektów bazy danych w różnych bazach danych w celu zwiększenia dostępności danych. Jest w stanie zwinąć dane firmowe z rozproszonych geograficznie stron i rozpowszechniać dane dla użytkowników zdalnych w sieci lokalnej lub Internecie. Zwiększa wykonywanie poleceń równoległych.

W serwerze Microsoft SQL wydawca jest jednostką, która dostarcza dane do replikacji na inne serwery. Subskrybent to serwer, który zwykle otrzymuje replikowane dane od wydawcy.

Istnieją trzy typy opcji dostępnych w serwerze Microsoft SQL dla operacji replikacji: replikacja migawki, replikacja transakcji i replikacja scalania.

  • Replikacja migawki kopiuje dane i obiekty bazy danych tak samo, jak pojawiają się w jednej chwili.
  • Replikacja transakcji generuje początkową migawkę danych do subskrybenta, a następnie jej przyrostowa modyfikacja jest wysyłana do subskrybenta jako dyskretny proces. Istnieją dwa procesy replikacji zdefiniowane w ramach replikacji transakcyjnej, a mianowicie agent odczytu dziennika i agent dystrybucji. Poprzedni agent czytnika dzienników procesów odczytuje transakcje z dziennika transakcji bazy danych, stosuje opcjonalny filtr i przechowuje je w bazie danych dystrybucji, która przypomina sklep obsługujący kolejkę. i do przodu mechanizm replikacji transakcyjnej. Ten ostatni agent dystrybucji procesów przekazuje zmiany do każdego subskrybenta.
  • Replikacja scalania umożliwia autonomiczną replikę każdej repliki zarówno w trybie online, jak i offline. Za każdym razem, gdy każda zmiana jest wprowadzana w metadanych opublikowanego obiektu, jest śledzona z powrotem do końca subskrybenta i wydawcy. Nie replikuje instancji danych i obiektów bazy danych.

Dane można replikować za pomocą wyzwalaczy bazy danych za pomocą niektórych konkretnych narzędzi. Specjalna procedura przechowywana w bazie danych sygnalizuje agentowi replikacji przechwytywanie i transportowanie zmian. Replikacja może być również używana w przypadku dublowania bazy danych, która powinna mieć dystrybutora.

Kluczowe różnice między dublowaniem a replikacją

  1. Dublowanie polega na powielaniu bazy danych przechowywanej na różnych komputerach, gdzie oryginalna baza danych jest znana jako podstawowa baza danych, a skopiowana baza danych jest nazywana lustrem. Z drugiej strony replikacja polega na powielaniu danych i obiektów bazy danych przechowywanych w różnych lokalizacjach w celu poprawy wydajności bazy danych dystrybucji.
  2. Odbicie lustrzane jest wykonywane w bazie danych podczas implementacji replikacji na obiektach danych i baz danych.
  3. Baza danych lustrzanych zwykle znajduje się na innym komputerze niż jej podstawowa baza danych. W przeciwieństwie do tego, replikowane obiekty danych i bazy danych są przechowywane w innej bazie danych.
  4. Dublowanie bazy danych kosztuje więcej niż replikacja.
  5. Odbicie lustrzane nie obsługuje środowiska rozproszonego, podczas gdy replikacja została opracowana dla rozproszonej bazy danych.

Wniosek

Odbicie lustrzane i replikacja to metody, które pomagają w improwizowaniu dostępności danych, niezawodności i wydajności. Jednak tworzenie kopii lustrzanej wiąże się z nadmiarowymi kopiami bazy danych, podczas gdy replikacja obejmuje duplikowanie danych i obiektów bazy danych, takich jak tabele, procedury składowane, funkcje zdefiniowane przez użytkownika, widoki, zmaterializowane widoki itp.

Top