Synchronizace dat - Data synchronization

Synchronizace dat je proces vytváření konzistence mezi daty ze zdroje do cílového úložiště dat a naopak a průběžná harmonizace dat v čase. Je základem pro širokou škálu aplikací, včetně synchronizace souborů a synchronizace mobilních zařízení, např. Pro PDA . Synchronizace může být také užitečná při šifrování pro synchronizaci serverů veřejného klíče .

Souborová řešení

Tam jsou k dispozici nástroje pro synchronizaci souborů , správu verzí ( CVS , Subversion , atd.), Distribuované souborové systémy ( Coda , atd.), A zrcadlení ( rsync , atd), v tom, že všechny tyto snaze udržet sady souborů synchronizovaných. Pouze nástroje pro správu verzí a synchronizaci souborů se však mohou zabývat úpravami více než jedné kopie souborů.

  • Synchronizace souborů se běžně používá pro domácí zálohy na externí pevné disky nebo aktualizaci pro přenos na USB flash disky . Automatický proces brání kopírování již identických souborů, takže může ušetřit značný čas v porovnání s manuální kopií a také rychlejší a méně náchylný k chybám.
  • Nástroje pro správu verzí jsou určeny k řešení situací, kdy se více než jeden uživatel pokusí současně upravit stejný soubor, zatímco synchronizátory souborů jsou optimalizovány pro situace, kdy bude upravována pouze jedna kopie souboru. Z tohoto důvodu, i když lze nástroje pro správu verzí použít pro synchronizaci souborů, vyhrazené programy vyžadují menší režii .
  • Distribuované souborové systémy lze také považovat za zajištění synchronizace více verzí souboru. To obvykle vyžaduje, aby zařízení ukládající soubory byla vždy připojena, ale některé distribuované souborové systémy, jako je Coda, umožňují odpojenou operaci s následným odsouhlasením. Sloučení zařízení distribuovaného systému souborů je obvykle omezenější než u systému správy verzí, protože většina systémů souborů neuchovává graf verzí.
  • Zrcadlo (výpočet) : Zrcadlo je přesnou kopií datové sady. Na internetu je zrcadlový web přesnou kopií jiného internetového serveru. Zrcadlové weby se nejčastěji používají k poskytování více zdrojů stejných informací a mají zvláštní hodnotu jako způsob zajištění spolehlivého přístupu k velkým souborům.

Teoretické modely

Ve výzkumné literatuře existuje několik teoretických modelů synchronizace dat a tento problém souvisí také s problémem slepiansko-vlčího kódování v teorii informací . Modely jsou klasifikovány podle toho, jak považují data za synchronizovaná.

Neuspořádané údaje

Problém synchronizace neuspořádaných dat (známý také jako problém s odsouhlasením sady ) je modelován jako pokus o výpočet symetrického rozdílu mezi dvěma vzdálenými sadami a čísly b-bitů. Některá řešení tohoto problému jsou typická podle:

Velkoobchodní převod
V tomto případě jsou všechna data přenesena na jednoho hostitele pro místní srovnání.
Synchronizace časového razítka
V tomto případě jsou všechny změny dat označeny časovými razítky. Synchronizace probíhá přenosem všech dat s časovým razítkem později než předchozí synchronizace.
Matematická synchronizace
V tomto případě jsou data považována za matematické objekty a synchronizace odpovídá matematickému procesu.

Objednané údaje

V tomto případě, dva dálkové struny a je třeba se smířit. Obvykle se předpokládá, že se tyto řetězce liší až pevným počtem úprav (tj. Vkládání, mazání nebo úpravy znaků). Synchronizace dat je pak proces snižování editační vzdálenosti mezi a , a to až do ideální nulové vzdálenosti. To platí pro všechny synchronizace založené na souborovém systému (kde jsou data uspořádána). Mnoho praktických aplikací je diskutováno nebo na ně odkazuje výše.

Někdy je možné problém transformovat na jedno z neuspořádaných dat pomocí procesu známého jako šindel (rozdělení řetězců na šindele ).

Vypořádání se s chybou

V systémech odolných proti chybám musí být distribuované databáze schopny vyrovnat se se ztrátou nebo poškozením (části) svých dat. Prvním krokem je obvykle replikace , která zahrnuje vytvoření více kopií dat a jejich udržování v aktuálním stavu při provádění změn. Poté je však nutné rozhodnout, na kterou kopii se spolehnout, když dojde ke ztrátě nebo poškození instance.

Nejjednodušší přístup je mít jedinou hlavní instanci, která je jediným zdrojem pravdy. Změny se replikují do jiných instancí a jedna z těchto instancí se stane novou předlohou, když selže stará předloha.

Paxos a Raft jsou složitější protokoly, které existují k řešení problémů s přechodnými efekty během převzetí služeb při selhání, například dva případy, které si myslí, že jsou pánem současně.

Tajné sdílení je užitečné, pokud jsou poruchy celých uzlů velmi časté. To přesouvá synchronizaci z explicitního procesu obnovy do toho, že je součástí každého čtení, kde čtení některých dat vyžaduje načítání zakódovaných dat z několika různých uzlů. Pokud na některých uzlech mohou být poškozená nebo zastaralá data, může tento přístup také těžit z použití kódu opravy chyb .

DHTs a Blockchains se snaží vyřešit problém synchronizace mezi mnoha uzly (stovky až miliardy).

Viz také

Reference