světNotes.cz

Replikace dat - základní přehled
Novinky
20.05.2003 - Emil Čelustka

Jak se později ukázalo, stala se právě tato vlastnost notesů klíčem k jejich úspěchu. V roce 1986, kdy Internet v podobě jak jej známe dnes neexistoval, v době kdy modemy komunikovaly rychlostí 1200, maximálně 2400 baudů (ano čtete správně, tak neuvěřitelně pomalu), byla schopnost replikace databází jedním z hlavních důvodů při koupi groupware Lotus Notes.


Definice replikace

Help R6 definuje repliku jako duplikát databáze se shodným replica ID number (identifikační číslo repliky) jako má originální databáze. Notes vám dovolí vytvořit repliku každé databáze, kterou používáte. Pomocí replikace mohou Notes udržet identický obsah mezi databází na serveru a replikou databáze na druhém serveru a/nebo na vašem lokálním disku. Všechny změny stačí provést pouze jednou, díky replikaci se objeví na obou místech. Replikace je proces zajišťující, aby obě repliky databáze byly identické.


Jinými slovy, z originální databáze můžete vytvořit tzv. repliku, která je identickou kopií originálu. Databáze mají shodné replica ID number, dokumenty mají shodné document ID number. Protože u každého dokumentu v databázích Lotus Notes je zaznamenáno nejen kdy byl příslušný dokument vytvořen, ale také kdy byl naposledy změněn, využívá se těchto časových značek ke zjišťování, které dokumenty byly či nebyly modifikovány. To, se spoustou dalších zajímavých nápadů, dělá proces replikace "inteligentní" výměnou dat, při které se po síti nepřenášejí již přenesené informace, ale pouze užitečná data.

Replikace byla od roku 1987 dále rozvíjena, R3 v roce 1993 přinesly selektivní replikaci a replikaci na pozadí. Ve verzi R4 přibyla schopnost replikace pouze změněných polí, což ještě snížilo objem přenášených dat. S nástupem Internetu byla doplněna možnost replikovat prostřednictvím Internetu za současného kryptování přenášených dat na tehdejší dobu velmi dlouhým klíčem.


K čemu se hodí replikace?

Replikace dat se dá používat k mnoha účelům, popíšeme si alespoň 4 základní, se kterými se můžete setkat nejčastěji. Je logické, že ve skutečném nasazení se bude téměř vždy jednat o smíšené modely, které lépe odrážejí reálné potřeby uživatelů.

1. Replikace mezi dvěma servery
Data je možné replikovat mezi dvěma servery, umístěnými například na centrále a pobočce. Uživatelé běžně pracují s replikou umístěnou ve své kanceláři, data se replikují tak často, jak je potřeba - jedenkrát denně, každou hodinu, každých 5 minut. Odpadá probém s rychlostí linky mezi oběma pracovišti, každý pracuje s aktuálními daty.

2. Replikace mezi klientem a serverem
Dalším často užívaným typem replikace je vytvoření repliky na lokálním disku nejčastěji vašeho notebooku. V takovém případě jste schopni pracovat s lokální replikou stejně, jako byste pracovali se svým serverem v kanceláři. Vytvoříte nové dokumenty, připojíte se na Internet třeba jen vytáčenou liknou a spustíte replikaci. V jediném kroku se přenesou vámi vytvořená data na server a nová data směrem k vám. Vlastnost, kterou ocení nejen pracovníci managementu.

3. Replikace v síti za účelem distribuce dat
Představte si nadnárodní společnost, která potřebuje distribuovat data do zastoupení v jednotlivých zemích, případně ještě dále, jednotlivým lokálním partnerům. Přitom z důvodu rychlosti práce a objemu přenášených dat nechcete, aby všichni byli nuceni pracovat s jediným, silně přetíženým centrálním serverem. Pomocí replikace je možné replikovat databázi ze serveru na centrále na servery umístěné v jednotlivých zastoupeních. Obchodní partneři v každé zemi pak replikují data s příslušným serverem aniž by data byla přenášena po mezinárodních linkách.

4. Replikace v síti za účelem sběru dat
Jestliže model popsaný v předchozím případě z hlediska toku dat obrátíme, získáme vysoce účinný systém na sběr dat. Data vytvářejí jednotlivé pobočky či obchodní partneři, replikací se sbíhají do vyšších úrovní serverů a scházejí se na jediném místě.


Reálné modely

Jak jsem již naznačil, předchozí 4 případy nejsou zcela reálné, protože v praxi se pracuje převážně s modely kombinovanými. Replikace probíhá mezi servery centrály a jednotlivých poboček, ale současně se replikace mohou účastnit i jednotliví klienti, například v nejmenších zastoupeních nebo s partnery, kteří nemají Lotus Domino server. Stejně tak sítě zajišťující distribuci dat nezřídka zajišťují i jejich sběr.

Vhodný příklad představuje redakční systém RedSys, který používá i světNotes.cz.




Tento článek píšu na serveru umístěném v naší kanceláři. Při psaní tedy nepotřebuji žádnou konektivitu, pracuji výhradně se serverem uvnitř firmy. V hodinových intervalech je databáze replikována se serverem umístěným na páteři. V rámci každé replikace se námi vytvořená data dostávají ven, příspěvky které jste vytvořili vy, čtenáři, naopak putují na server ve firmě.

Protože používám notebook, mám i lokální repliku databáze světNotes.cz. Články tedy můžu psát i doma nebo na cestách. Mám přitom možnost replikovat buď po návratu zpět do firmy, připojený k Internetu z domu nebo prostřednictvím mobilního telefonu. Pokud je to třeba, replikuji i na cestách, obdoba našeho volny.cz za srovnatelné ceny existuje a funguje například v Německu či Chorvatsku. A pokud se naskytne příležitost, dá se replikovat i ze stánku společnosti Login na mnichovském výstavišti. :-)


Co je na replikaci tak jedinečného ?

V rámci replikace se nepřenášejí pouze data, předmětem replikace jsou také design databáze, přístupová práva (ACL) a nastavení replikace. Právě tyto vlastnosti z replikace dělají mimořádně silný nástroj. Vývojářům a administrátorům se nabízí rozsáhlé možnosti správy heterogenních aplikací bez nutnosti objíždět jednotlivé servery, ale především jednotlivé klienty připojené třeba prostřednictvím vytáčené linky, s každou novou verzí aplikace.

Další zajímavou vlastností, pro mne už natolik samozřejmou, že bych ji bez upozornění vůbec nezmínil, je replikace mezi servery běžícími na různých operačních systémech. Replikovat může server na Linuxu se serverem na Solarisu, stejnětak se serverem na Windows.

Příště se podíváme na možnosti nastavení replikace.