DBS -jaké jsou a jaké by mohly být
Prostriedkom k dosiahnutiu usporiadateľnosti rozvrhu je dvojfázový uzamykací protokol (two-phase locking protocol). Podobne ako protokol napr. v diplomacii, je aj v informatike protokol určitou množinou pravidiel. Tu ide o to, že v prvej fáze sa objekty uzamykajú a v druhej odomykajú, tj. akonáhle sa v transakcii použije príkaz UNLOCK, tak už nemožno použiť LOCK. Za určitých rozumných predpokladov vedú takto vytvorené transakcie priamo k usporiadateľným rozvrhom. Dvojfázový protokol však nezabraňuje uviaznutí (deadlock), tj. napr. ak chceme v jednej transakcii uzamknúť to, čo je v druhej už zamknuté, a naopak.
Problémy s jednou zdielanou databázou sa znásobujú v architektúrach, ktoré sa nazývajú distribuované databázové systémy (distributed database systems). Obecne ide o sieť počítačov s autonómne (pod vlastními SRBD) pracujúcimi databázami s prípadne duplicitnými dátami, pričom je možné klásť globálne požiadavky, napr. dotazy, nad všetkými databázami. Naviac užívateľ si nemusí byť vedomí distribúcie dát, tzn., že je splnená podmienka transparentnosti (transparency) umiestenia, fragmentov, kópií apod. To obvykle predpokládá existenciu globálnej databázovej schémy (global database schema).
V distribuovanom prostredí sa okamžite vynoria nové problémy, ako napr. otázka, ako vyhodnocovať globálny dotaz (minimalizácia prenosov dát medzi uzlami, voľba lokálnych databáz pre spracovanie), ako si poradiť s heterogénnym prostredím (v uzloch môžu byť rôzne typy SRBD) či ako spracovávať transakcie. Primárne transakcie sú totižto distribuované, tj. indukujú dielčie transakcie uskutočňované v jednotlivých uzloch siete.
Nejčastějším spôsobom ako riadiť spracovávanie transakcií v distribuovanom prostredí je tzv. dvojfázový potvrdzovací protokol (two-phase commit protocol). V prvej fáze hlási každá dielčia transakcia do miesta vyvolania primárnej transakcie správu, či potvrdzuje všetky lokálne zmeny, ktoré mala uskutočniť. Po obdržaní všetkých potrebných správ (či po uplynutí nejakého časového intervalu v prípade, že správa neprichádza) pošle koordinátor primárnej transakcie do miest dielčich transakcií správu o globálnom potvrdení či zrušení primárnej transakcie. Do tej doby nemôžu dielčie transakcie uvolniť aktivizované objekty pre spracovanie inými transakciami.
Nie všetky distribuované SRBD pristupujú k problému distribuovaných transakcií, či dokonca distribúcii dát rovnako. Napr. v ORACLE je možné mať v daný čas otvorenú iba jednu databázu, čo eliminuje potrebu distribuovaných transakcií, SYBASE prenechává starosť o dvojfázové potvrdzovanie užívateľovi vďaka existencii špeciálnych príkazov. Distribuované verzie PROGRESSu, INGRESu alebo INFORMIXu majú tento protokol implementovaný.
Veľmi obecnú distribúciu dovoľuje ADABAS. Jeho časť ADANET pracuje pre užívateľa transparentne ako s kópiami súborov vo viacerých uzloch, tak s fragmentamy jedného súboru vo viacerých uzloch a synchronizuje spracovanie transakcií podla hore uvedených princípov. Inde, napr. v PROGRESSu, sa v distribuovanej databáze nepoužívajú kópie relácií.
K distribúcii dát väčšinou nedochádza zhora dole, tj. vyprojektovaním schémy distribúcie a jeho realizácie v sieti. Dnes je častá naopak integrácia už hotových (event. heterogénnych) databáz či aspoň zaistenie vstupu do databáz, ktoré vznikli a sú vykonávané pod inými SRBD. Napr. PROGRESS umožňuje integráciu s databázami v ORACLE, Rdb, RMS, C-ISAM aj., systém „mostov“ (bridges) v ADABASu zaisťuje vstup do súborov DL/1, VSAM, TOTAL a SESAM.