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
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.
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.