260 likes | 504 Views
Uvod v podatkovne baze Osnove. Splošno o podatkovnih bazah Zgodovina shranjevanja podatkov Datotečni sistem in SUPB Opisovanje in shranjevanje podatkov v PB Poizvedovanje v PB Obvladovanje transakcij. Splošno o podatkovnih bazah (PB). Stanje danes:
E N D
Uvod v podatkovne baze Osnove • Splošno o podatkovnih bazah • Zgodovina shranjevanja podatkov • Datotečni sistem in SUPB • Opisovanje in shranjevanje podatkov v PB • Poizvedovanje v PB • Obvladovanje transakcij - 1 -
Splošno o podatkovnih bazah (PB) • Stanje danes: • Organizacije odvisne od zmožnosti pridobivanja natančnih in pravočasnih podatkov... • Podatki predstavljajo konkurenčno prednost. • Brez zmožnosti za upravljanje z velikimi količinami podatkov in zmožnosti za hitro iskanje ustreznih podatkov postanejo podatki breme za organizacijo. • Paradoks: zaradi preveč informacij potrebujemo še več informacij • Potrebujemo ustrezne mehanizme za upravljanje s podatki in učinkovito iskanje po njih podatkovne baze. - 2 -
Sistemi za upravljanje s PB • Sistem za upravljanje s podatkovno bazo – SUPB je programska oprema za obvladovanje velikih količin podatkov. • Alternativa – shranjevanje v aplikaciji lastni obliki; problemi: neprenosljivost idr. • Obstaja veliko vrst SUPB • Relacijski, objektni, XML,… • Primeri SUPB: Oracle, Sybase, DB2, MS SQL, Ingres, Postgres, MySQL, ObjectStore, Jasmine, Objectivity/DB, VersantObjectDatabase,... - 3 -
Zgodovina shranjevanja podatkov • Zgodnja 60’: Charles Bachman iz General Electric-a razvije prvi splošno-namenski SUPB (Integrated Data Store). • Predstavlja osnovo za mrežni podatkovni model, ki je predlagan za standard na konferenci za jezike podatkovnih sistemov (CODASYL). • Za mrežni podatkovni model Bachman prejme Turingovo nagrado (ACM Turing Award- na področju računalniških znanosti ekvivalent Nobelove nagrade) • Ima velik vpliv na razvoj SUPB-jev v 60’ letih. (glej [4,159]). - 4 -
Zgodovina shranjevanja podatkov • Pozna 60’: IBM razvije Information Management System(IMS), ki se ponekod uporablja še danes. • Predstavlja osnovo za hierarhični podatkovni model. • American Airlines in IBM razvijeta sistem SABREza rezervacije letalskih kart – sistem omogoča več uporabnikom dostop do skupnih podatkov preko mreže. • Zanimivost: isti SABRE se še danes uporablja za spletna potovalna agencija Travelocity. (glej [4,181]). - 5 -
Zgodovina shranjevanja podatkov • 70’ leta: Edgar Codd predlaga relacijski podatkovni mode (IBM). • Razvije se mnogo relacijskih SUPB. • Podatkovne baze postanejo akademsko področje. Razvije se izjemno močna teoretična podlaga. • Codd dobi Turingovo nagrado za svoje delo. • Relacijske Podatkovne baze postanejo standard za upravljanje s podatki v organizacijskih sistemih. - 6 -
Zgodovina shranjevanja podatkov • 80’ leta: Relacijski model si še utrdi položaj kot SUPB. • Razvije se SQL poizvedovalni jezik (IMB-ov projektSystem R) • SQLpostane standardni jezik za izvajanje poizvedb v relacijski PB. • SQL je bil standardiziran v poznih 80’ – SQL-92. • Standard prevzamejo American National Standard Institute (ANSI) in International Standards Organization (ISO). • Skrb za sočasen dostop do podatkov prevzame SUPB. Programerji programirajo, kot bi do podatkov dostopali samo oni. James Grey dobi za dosežke na tem področju Turingovo nagrado. - 7 -
Zgodovina shranjevanja podatkov • Pozna 80’ in 90’: veliko napredka na področju PB. • Veliko raziskav se opravi na področju poizvedovalnih jezikov in bogatejših (razširjenih) podatkovnih modelov. • Velik poudarek na kompleksnih analizah podatkov iz vseh področij organizacijskih sistemov. • Veliko proizvajalcev SUPB-jev (IBM – DB2, Oracle 8, Informix UDS) razširi svoje sisteme s podporo novim podatkovnim tipom: slike, tekst in s podporo kompleksnejšim poizvedbam. - 8 -
Zgodovina shranjevanja podatkov • Pozna 80’ in 90’: nadaljevanje • Pojavijo se podatkovna skladišča, ki združujejo podatke iz več PB in omogočajo izvajanje specializiranih analiz (iskanje zakonitosti v podatkih). • Pojavijo se ERP (enterprise resource planning) in MRP (management resource planning) paketi • Podpirajo skupne funkcije v poslovnih sistemih (npr. skladiščno poslovanje, planiranje človeških virov, finančne analize,...). • Predstavljajo obsežno aplikacijsko plast nad skupno PB. • Primeri: Baan, Oracle, PeopleSoft, SAP in Siebel. - 9 -
Zgodovina shranjevanja podatkov • Naslednja stopnja: vstop SUPB v svet Interneta • Prva generacija spletnih mest shranjuje podatke v datotekah OS. Uporaba PB za shranjevanje podatkov, ki so dostopni preko Interneta, postaja vsakdanja. • Poizvedbe se generira preko spletnih form, odgovore pa se nazaj posreduje v obliki jezika HTML, za lažji prikaz v spletnem brskalniku. • Vsi proizvajalci dodajajo svojim SUPB-jem možnosti za čim lažjo uporabo v spletu. - 10 -
Zgodovina shranjevanja podatkov • Najnovejša področja: • Multimedijske PB, • PB za interaktivni video, • Digitalne knjižnice, • Odločitveni sistemi, vrtanje po podatkih, odkrivanje zakonitosti • NoSQL - 11 -
Zgodovina shranjevanja podatkov • Zanimive raziskave povezane z zbiranjem podatkov: • Human Genome Project - 12 -
Zgodovina shranjevanja podatkov • Zanimive raziskave povezane z zbiranjem podatkov: • Projekt GEOSS - 13 -
Velikost spleta • Število spletnih strani neskončno • 1998: Google indeksira 26 milijonov(26.000.000) URL-jev • 2008: Google indeksira tisoč milijard(1.000.000.000.000) URL-jev - 14 -
Datotečni sistemi in SUPB… • Zaradi neučinkovitosti shranjevanja podatkov neposredno v datoteke, se pojavijo Sistemi za upravljanje s podatkovnimi bazami – SUPB. • Definicija: SUPB je skupek programske opreme, ki omogoča kreiranje, vzdrževanje in nadzor nad dostopom do podatkov v PB. - 15 -
Datotečni sistemi in SUPB… • Uporaba SUPB prinaša naslednje prednosti: • Podatkovna neodvisnost: Programi so neodvisni od predstavitve podatkov in načina shranjevanja podatkov. SUPB zagotavlja abstrakcijo podatkov in ločuje programe od podrobnosti predstavitve podatkov. • Učinkovit dostop do podatkov: SUPB zagotavlja tehnike za učinkovito hranjenje in dostop do podatkov. • Varnost in integriteta podatkov: Če se do podatkov dostopa preko SUPB, se lahko uporabi omejitve, ki zagotavljajo skladnost podatkov. - 16 -
Datotečni sistemi in SUPB… • Prednosti uporabe SUPB (nadaljevanje): • Administracija podatkov: Če so podatki shranjeni centralno, je upravljanje s podatki lažje. • Sočasen dostop do podatkov in obnavljanje PB: SUPB razporeja sočasne dostope tako, da izgleda, kot da do podatkov dostopa en uporabnik. • Skrajša čas razvoja programov: SUPB podpira številne mehanizme za dostop do podatkov. - 17 -
Zunanja shema 1 Zunanja shema 2 Zunanja shema 3 Konceptualna shema Metapodatki Fizična shema DISK Fizični podatki Tri-nivojska predstavitev podatkov... • Podatki so v PB opisani na treh ravneh: • Zunanja shema • Konceptualna ali logična shema • Fizična shema - 18 -
Poizvedovanje v PB... • Enostavnost pridobivanja informacij iz PB je ključna prednost SUPB za uporabnike. • Relacijske PB omogočajo uporabnikom postavljati enostavna vprašanja (poizvedbe), s katerimi pridobivajo podatke/informacije. • Poizvedbe se podaja v jeziku, ki je prirejen za opisovanje poizvedb – poizvedovalni jezik. • Relacijski model podpira zelo močne poizvedovalne jezike • Ena pomembnih nalog SUPB je optimizacija poizvedb, tako da se te čim hitreje izvedejo. - 19 -
Primer poizvedbe v SQL jeziku • Zanima nas, kateri delavci imajo višjo plačo od 3.500 EUR. USE Delavec GO TO 1 DO WHIEL NOT EOF IF Plača > 3500 THENPrint (Priimek, Ime, Plača) END WHILE DELAVEC Šifra Ime Priimek Plača … Proceduralno SELECT Priimek, Ime, Plača FROM Delavec WHERE Plača >3500 Deklarativno - 20 -
Upravljanje s transakcijami • Transakcija predstavlja skupek ažuriranj, ki jih izvede transakcijski program. • Z vidika SUPB predstavlja transakcija osnovno enoto spremembe transakcija se mora izvesti cela ali nič. Primer: prenos €100 iz enega na drugi TRR Dvig €100 iz TRR1 TRR1 = TRR1 – 100 Polog €100 na TRR2 TRR2 = TRR2 + 100 BEGIN TRANSACTION END TRANSACTION - 21 -
Upravljanje s transakcijami • Dve pomembni nalogi SUPB pri izvajanju transakcij: • Zagotavljanje sočasnosti pri izvajanju transakcij in • Obnavljanje PB po transakcijskih in sistemskih nesrečah (razveljavljanje, ponavljanje transakcij...). - 22 -
T1 T2 t1 t2 t3 t4 I/O CPU t5 I/O CPU t6 I/O CPU t7 I/O CPU t8 t9 t10 t11 t12 t13 t14 t15 Zakaj sočasnost? CPU T1 T2 CPU CPU CPU CPU CPU CPU CPU CPU I/O CPU I/O CPU I/O CPU CPU I/O I/O CPU CPU I/O CPU CPU CPU CPU I/O I/O CPU - 23 -
Upravljanje s transakcijami - problemi • V centraliziranem SUPB zaradi sočasnosti dostopa različni problemi: • Izgubljene spremembe: uspešno izveden UPDATE se razveljavi zaradi istočasno izvajane operacije s strani drugega uporabnika. • Uporaba nepotrjenih podatkov (dirtyread): transakciji je dovoljen vpogled v podatke druge transakcije, še preden je ta potrjena. • Neskladnost analize: transakcija prebere več vrednosti iz podatkovne baze. Nekatere izmed njih se v času izvajanja prve transakcije zaradi drugih transakcij spremenijo. - 24 -
Primer težav pri zagotavljanju sočasnosti • Izgubljene spremembe • T1dvig $10 iz TRR, na katerem je začetno stanje $100. • T2depozit $100 na isti TRR. • Po zaporedju T1, T2 končno stanje enako $190. - 25 -