140 likes | 267 Views
SUPB / DBMS. Sistem za upravljanje podatkovne baze Database Management System. SUPB. Veliko definicij, razlika le v pogledu/natančnosti. Programska oprema, ki uporabnikom omogoča definiranje, kreiranje in vzdrževanje PB in hkrati zagotavlja nadzorovan dostop do PB
E N D
SUPB / DBMS Sistem za upravljanje podatkovne baze Database Management System
SUPB Veliko definicij, razlika le v pogledu/natančnosti • Programska oprema, ki uporabnikom omogoča definiranje, kreiranje in vzdrževanje PB in hkrati zagotavlja nadzorovan dostop do PB • Programska oprema, ki ravna z vsemi dostopi do podatkov v PB in je odgovorna za izvajanje postopkov preverjanja avtorizacij uporabnikov in veljavnosti podatkov. • Zbirka programov, ki • omogoča kreiranje nove PB in definiranje njene strukture • omogoča učinkovito poizvedovanje in spreminjanje podatkov • varuje podatke pred nesrečami in neavtoriziranimi dostopi • nadzoruje sočasen dostop večjega števila uporabnikov do podatkov
Oris značilne arhitekture SUPB-ja poizvedbe spremembe podatkov spremembe shem Procesor poizvedb Upravitelj transakcij Upravitelj shranjevanja SUPB PB
Značilne funkcionalnosti SUPB-ja • Definiranje in spreminjanje strukture PB (DDL, namenjeno administratorju) • Kreiranje PB (namenjeno administratorju) • Manipuliranje s podatki (izvajanje in optimizacija poizvedb za branje, zapisovanje, brisanje ali spreminjanje podatkov) • Zagotavljanje celovitosti (integritete) podatkov (izvaja preverjanje integritetnih omejitev) • Nadzorovanje sočasnosti izvedbe transakcij • Zagotavljanje atomarnosti (atomicity) transakcij (pravilo “vse ali nič”) tudi v primeru, če pride do napake med izvajanjem ene transakcije DDL= DataDefinitionLanguage (omogoča definiranje podatkovnih struktur in tipov ter omejitev)
Značilne funkcionalnosti SUPB-ja (nad.) • Obnavljanje PB (storitev) • Preverjanje avtorizacije uporabnikov • Omogoča dostop do podatkovnega kataloga (slovarja) • Zagotavljanje podatkovne neodvisnosti • Ena od najpomembnejših funkcij! • Zagotavlja neodvisnost aplikacij od načina hranjenja in dostopa do podatkov • Spremljanje delovanja PB (preformančni nadzor) • Služnostne storitve (utility) Konflikt interesov: kompleksnost vs. funkcionalnost SUPB
Kako SUPB zagotavlja atomarnost? • S pomočjo beleženja log oz. zgodovine vseh izvedenih akcij • Pred izvedbo katere koli spremembe v PB mora biti ustrezen log zapis shranjen na varnem mestu v primeru nesreče je enostavno razveljaviti učinek le delno izvedene transakcije • Primer: • Transakcija_ i nekaj zapisuje: v log zapis se zabeležita stara in nova vrednost • Log zapis se mora shraniti na disk pred zapisovanjem novega podatka • Transakcija_i se izvede/prekine: v log zapis za zabeleži dejstvo: izvedba/preklic • Log zapisi se povežejo, če je prišlo do prekinitve je enostavno restavrirati stanje pred poskusom izvedbe transakcije
Pridobitve uporabe SUPB-ja • Podatkovna neodvisnost • Učinkovit dostop do podatkov • Zmanjšanje časa, potrebnega za razvoj aplikacij • Enotna, centralizirana administracija podatkov • Zagotovljena integriteta in varnost podatkov • Zagotovljen nadzor nad sočasnim dostopom do podatkov • Enostavno obnavljanja po nesrečah • Nadzorovano (morebitno) podvajanje podatkov • …
Moduli SUPB • Sledi slika: Detajlni oris sestave SUPB-ja (iz knjige Components of a DBMS fig. 1.6 Silbershatz et al)
Moduli SUPB in njihova funkcija • Uporabniški vmesnik (namenjen upravitelju PB, sofisticiranim uporabnikom, …) • Procesor poizvedb (query processor) • DML prevajalnik (DML compiler) • Vgrajen DML predprevajalnik (Embedded DML precompiler): DML stavke, vgrajene v aplikacijske programe, prevede v običajne klice procedur gostiteljskega jezika • DDL interpreter : pretvori DDL stavke v množico tabel z metapodatki (opisi podatkov); tabele se shranijo v podatkovnem slovarju • Modul za ovrednotenje poizvedb (Query evaluation engine): prevede (in optimizira) stavke poizvedovalnega jezika v nizkonivojske instrukcije, ki jih razume upravitelj shranjevanja. • Upravitelj transakcij (transactions manager) • zaklepa, beleži in izvaja transakcije; zagotavlja atomarnost transakcij • Upravitelj shranjevanja (storage manager) • Upravitelj avtorizacij in celovitosti (authorization and integrity manager): nadzoruje dostope in celovitost podatkov • Upravitelj datotek (file manager):dostopa do datotek na disku • Upravitelj izravnalnika (buffer manager): prepisuje bloke podatkov na relaciji disk RAM
Kriteriji za klasifikacijo SUPB-jev • Podatkovni model – hierarhični, mrežni, relacijski, objektno-relacijski, objektni • Število (sočasnih) uporabnikov – enouporabniški, večuporabniški • Način namestitve podatkov – centralizirani, porazdeljeni sistemi • Namen – splošnonamenski, ozkonamenski • Cena – prosotodostopni(?), …, zelo dragi(?)
Nekaj (naj)pomembnejših SUPB Velika trojica • Oracle • IBM DB2 (System R, System R*, Starburst) • Microsoft SQL Server ----------------------------------------- • MySQL • Microsoft Access • PostgreSQL • NCR Teradata • Sybase • Informix (IBM) • Paradox
Cene ??? • Previdnost – ne sklepaj prehitro (le na osnovi cene za licenco) • Ne pustite se zapeljati le reklami proizvajalcev SUPB-jev – vsak trdi da je ravno njegov izdelek najugodnejši/najprimernejši • ‘Poceni’ zadeve utegnejo hitro postati razmeroma drage • Pozanimaj se (izračunaj) TOC (total cost of ownership) • Če utegneš (in pametno je da utegneš), poišči (ali kupi) CCO (comparative cost of ownership) neke nevtralne organizacije • Nekaj (pomembnejših) parametrov, ki naj bi jih upoštevali pri izračunu TOC: • Ceno, ki jo plačamo za produkcijski strežnik PB (znesek za CPU licence, za uporabniške licence, za pomožna orodja ‘tuning’,diagnosticiranje) • Ceno, ki jo plačamo za rezervni strežnik PB (t.i. Failover Database Server) • Ceno za SW storitve (nadgradnje, telefonska podpora) • Ceno licenc za razvijalce (začetna cena, cena za letno podaljšanje licence) • Izračunaj vsaj za obdobje 3 – 4 let • Bodite previdni tudi pri izdelkih z GPL* (dostikrat za komercialno uporabo GPL ne velja) • Zapomni si pravilo: ‘nisem dovolj bogat, da bi kupoval cenene izdelke’ *GPL – General Public Licence
Prihodnost SUPB-jev in PB • Zagotovljena! • Razširitve - razvoj v smeri podpore odločanju: • Podatkovno skladiščenje (data warehousing) • OLAP sistemi (on-line analitical processing) • Podatkovno rudarjenje (Data Mining) • Razširitve - razvoj v smeri drugačnih zvrsti podatkov: • Iskalni stroji (Search Engine) • Prostorske baze (Spatial databases) • Tekstovne in multimedijske baze • … • ….