Autor: Martin Kot

Replikace

  1. Objekty replikací
  2. Replikační skupina
  3. Replication sites (místa replikací)
  4. Administrace replikačního prostředí
  5. Replikační konflikty
  6. Zdroje informací

Replikace je proces kopírování a údržby databázových objektů ve více databázích, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním a aplikováním na každou vzdálenou lokaci. Replikace poskytuje uživateli rychlý lokální přístup ke sdíleným datům a chrání dostupnost dat z aplikací, protože existují alternativní možnosti přístupu k datům. Dokonce, pokud se jedno místo stane nedostupným, uživatel může pokračovat s dotazem nebo změnou dat ve zbývajících místech.

Objekty replikací (replication objects)

Objekt replikace je databázový objekt existující na více serverech v distribuovaném databázovém systému. Replikační vybavení Oracle umožňuje replikovat tabulky a podpůrné objekty jako: view, trigger, package, index, synonym.

Replikační skupina (replications group)

V replikačním prostředí Oracle spravuje replikované objekty pomocí replikačních skupin. Při organizování objektů relační databáze do replikačních skupin je jednodušší spravovat více objektů najednou. Například se replikační skupiny používají na objekty nutné k podpoře konkrétní databázové aplikace. Objekty ve skupině mohou pocházet z několika databázových schémat a schéma může zahrnovat objekty, které jsou členy různých skupin. Replikovaný objekt může být členem pouze jedné skupiny.

Replication sites (místa replikací)

Replikační skupiny mohou existovat na několika místech. Replikační prostředí podporuje dva základní typy míst:

Multimaster replication (Replikace s více "master site")

Multimaster replikace v Oracle povoluje více míst, vystupujících rovnoprávně, které řídí skupiny replikovaných databázových objektů. Aplikace mohou aktualizovat jakoukoliv replikovanou tabulku na kterémkoliv místě v této konfiguraci.

Databázové servery Oracle fungující jako řídící místa v multimaster prostředí automaticky pracují tak, že spojují data ze všech replik tabulky a zajišťují konzistenci globálních transakcí a integritu dat.

Multimaster replikace je využitelná v mnoha typech aplikací se speciálními požadavky. Např. pro aplikace pracující transakčně, které potřebují více míst přístupu k databázovým informacím za účelem distribuovat velké množství dat se zajištěním nepřetržité dostupnosti, nebo poskytnutím více lokalizovaných přístupů k datům.

Snapshot replication (Replikace kopiemi aktuálními v daném okamžiku)

Snapshot zahrnuje kompletní nebo částečnou kopii cílové řídící tabulky z jednoho místa v daném čase. Snapshot může být:

Výhody read-only kopií:

Vlastnosti modifikovatelných kopií:

Výhody modifikovatelných kopií:

Snapshot replikace se využívá k mnoha druhům aplikací. Např. je vhodná pro distribuci informací. (Ve velkém řetězci obchodů je nutné mít neustále přístup k cenám výrobků. Každý obchod může mít svou kopii cen a každou noc si je obnovovat z primární tabulky.)

Kombinace typů replikací

Multimaster replikace a snapshot replikace mohou být kombinovány, aby vyhověly požadavkům aplikace. Tyto smíšené konfigurace mohou mít jakýkoliv počet řídících míst (master site) a několik snapshot site pro každé řídící místo.

Rozdíly mezi typy replikací

Klíčové rozdíly mezi multimaster replikací a snapshot replikacemi jsou:

Administrace replikačního prostředí

Existuje mnoho nástrojů, které pomáhají administrátorovi a monitorují replikační prostředí. Replikační manager Oraclu poskytuje grafické uživatelské rozhraní pro správu prostředí, zatímco API replikačního managementu poskytuje programový interface pro tvorbu skriptů pro administraci replikací. Navíc informace o replikačním prostředí dává replikační katalog.

Replikační katalog

Každá “master” i “snapshot site” v replikačním prostředí má svůj katalog. Jde o množinu datových slovníků a pohledů, které udržují administrativní informace o replikovaných objektech a replikačních skupinách daného místa. Každý server účastnící se replikací může provádět replikace objektů v replikačních skupinách s využitím informací ve svém replikačním katalogu.

Pro nastavení a řízení replikačního prostředí používá každý Oracle server replikační aplikační programové rozhraní (API). API replikačního managementu serveru je množina PL/SQL balíků zahrnující procedury a funkce, které uživatel může použít pro konfiguraci replikačních vlastností Oraclu. Replikační manager také používá procedury a funkce API replikačního managementu každého místa pro zajištění funkčnosti.

Administrátorské požadavky jsou volání procedur nebo funkcí API replikačního managementu. Např. při použití replikačního manageru k vytvoření nové “master” skupiny volá manager DBMS_REPCAT.CREATE_MASTER_REPGROUP proceduru.

Standardní instalace Oracle obsahuje přes 10 balíků API replikačního prostředí. Každý obsahuje několik procedur nebo funkcí. Pro spuštění mnoha z nich je nutné splnit nějaké požadavky. Např.:

Replikační manager Oraclu používá API replikačního managementu pro zajištění většiny svých funkcí. Využívání replikačního managera je vhodnější než přímé volání funkcí a procedur API, protože manager:

Replikační konflikty

V asynchronním multimaster a modifikovatelném snapshot replikačním prostředí mohou nastat replikační konflikty, když např. dvě transakce spouštěné na různých místech modifikují stejný řádek v přibližně stejném čase. Když takový konflikt nastane, je potřeba nějaký mechanismus zajišťující, že konflikt bude vyřešen v souladu s uživatelem danými pravidly a že data se změní korektně na všech místech. Replikace Oraclu nabízí několik metod na řešení konfliktů. Pokud nastane nějaká situace, kterou vestavěné mechanismy Oraclu nemohou vyřešit, uživatel má možnost vytvořit a použít svou vlastní rutinu.

Zdroje informací