Posebnosti SUPPB

S porazdeljeno podatkovno bazo upravljajo posebni SUPB, t.i. sistemi za upravljanje s porazdeljeno podatkovno bazo (SUPPB). Ti sistemi morajo imeti vgrajene dodatne funkcionalnosti. Posebne zahteve, ki jih imamo do SUPPB se nanašajo na:

1. procesiranje in optimizacijoa povpraševanj (poveizdb)
V okolju centralizirane podatkovne baze so primarni stroški dostopa do podatkov. V okolju porazdeljene baze so primarni stroški omrežja t.j. stroški prenosa podatkov po omrežju. Stroške omrežja merimo s številom zlogov, ki se prenašajo po omrežju.

Primer poizvedbe, ki črpa podatke iz prazdeljene podatkovne baze
Obstaja več alternativ za strategijo prenosa podatkov:

1. način
Kopiraj vse zapise KANDIDAT in SOLA v vozlišče 3;
Poveži podatke (join) in prikaži rezultat
Cena = 1.000.000 + 3.500 = 1.003.500 bytes

2. način
Kopiraj vse zapise KANDIDAT (1,000,000 bytes) iz vozlišča 1 v vozlišče 2
Poveži podatke
Rezultat (400,000 bytes) pošlji v vozlišče 3
Cena = 1.000.000 + 400.000 = 1.400.000bytes

3. način
Kopiraj vse zapise SOLA (3.500) iz vozlišča 2 v vozlišče 1
Poveži podatke
Rezultat pošlji iz vozlišča 1 v vozlišče 3 (400.000)
Cena = 3.500 + 400.000 = 403.500 bytes

Opomba: obstajajo tudi druge alternative (semijoin)!

Zaključek: ‘Pamet' (logika) SUPPB-ja pri optimizaciji poizvedb bistveno vpliva na preformanse celotnega podatkovnega sistema.

2. zaščita transakcij

Obstajajo optimistični in pesimistični načini zaščite transakcij. Ena od možnosti zaščite transakcij je t.i. dvofazno potrjevanje uspešnega zaključka transakcije (2PC = Two Phase Commit ali synchronous replication protocol).
2PC je transakcijska zaščita pri ažuriranju podatkov, ki se nahajajo v različnih strežnikih. Potek 2PC:

- prva faza: Vsem vozliščem pošlji sporočilo: "Ali lahko izvedeš transakcijo X?" Vozlišča, ki lahko izvedejo transakcijo, odgovorijo "Da".
- druga faza:

- Če so vsa vozlišča odgovorila "Da", še enkrat vsem pošlji sporočilo "Izvedi transakcijo".
- Če je katerokoli vozlišče odgovorilo "Ne", vsem pošlji sporočilo o preklicu transakcije.

3. nadzor vzporednosti

Namen je zagotoviti tekočo konsistentnost (skladnost) vseh v globalni podatkovni bazi podvojenih podatkov pri ažuriranju katerekoli njihove kopije.

Globalne podatkovna baza mora delovati, kljub izpadu posameznega strežnika. Pred njegovo ponovno vključitvijo v globalni sistem, je potrebno izvesti uskladitev vseh v njem podvojenih podatkov s kopijami iz drugih strežnikov, ki so se med izpadom ažurirale naprej. Zato naj se operacije replikacije in sinhronizacije izvajajo avtomatično.