Transparentnosť replikácie
Transparentnosť replikácie
Pri návrhu databázy môže byť potrebná replikácia dát – uloženie kópií niektorých fragmentov na rozličných miestach. Takýto prístup zvyšuje bezpečnosť dát a takisto dostupnosť dát, pretože v prípade existencie replikácií bude existovať viac spôsobov, ako odpovedať na dotaz. Extrémnym prípadom je replikácia celej databázy v každom uzle distribuovaného systému. Takéto riešenie, samozrejme, pozoruhodne zvyšuje dostupnosť dát a robustnosť systému (systém môže pracovať tak dlho, kým pracuje aspoň jeden jeho uzol) a uľahčuje a podstatne skracuje čas na vykonávanie globálnych dotazov. Nevýhoda takéhoto prístupu je zrejmá pri potrebe zmeny dát, pretože každá lokálna zmena dát sa musí objaviť na všetkých kópiách databázy, aby tieto kópie zostali v konzistentnom stave. Teda, ak databáza je plne replikovaná vo veľkom počte uzlov, budú náklady na kontrolu konkurenčných transakcií a spamätávanie sa z chýb podstatne väčšie, ako náklady na spravovanie databázy, ktorá nie je replikovaná vôbec. Opačným extrémom je prístup, pri ktorom neexistuje replikácia ani časti databázy a každý jej fragment je uložený v práve jednom uzle.
Medzi týmito dvoma hraničnými prípadmi existuje množstvo prístupov čiastočnej replikácie, ktoré sú v praxi používané – niektoré fragmenty databázy replikované sú a niektoré nie. Počet kópií každého fragmentu môže byť z intervalu od 1 až po celkový počet uzlov, ktoré participujú v danom distribuovanom systéme. Popis replikácií fragmentov sa nazýva replikačná schéma. Každý fragment, alebo každá kópia fragmentu, musí byť priradený konkrétnemu uzlu v distribuovanom systéme.
Replikácia fragmentov na rôznych miestach zvyšuje bezpečnosť a flexibilitu systému, pretože v takom prípade existuje viac ako jeden spôsob, ako odpovedať na dotaz. Takýto prístup na druhej strane zvyšuje potenciálne náklady.
Replikácia, rovnako ako fragmentácia, musí byť pre používateľa neviditeľná, používateľovi musí byť umožnené pracovať s databázou, akoby bola uložená iba na jeho lokálnom počítači.