Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Arhitektura sistema bazapodataka
Nenad MitićMatematički fakultet
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.2
Definicija
Arhitektura sistema baza podataka jeapstraktni opis njegovih komponenti injihovih interakcija
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.3
ANSI/SPARC arhitektura
• Spoljašnji nivo (eksterni nivo,individualni korisnički izgled)
• Konceptualni nivo (zajednicki logičkiizgled)
• Unutrašnji nivo (interni nivo, fizičkiizgled)
ANSI - American National StandardsInstituteANSI/SPARC - ANSI/System Planning andRequirements Committee
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.4
ANSI/SPARC arhitektura
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.5
Primer arhitekture na 3 nivoa
• Unutrašnji nivoSTORED_EMP length = 18
PREFIX TYPE = BYTE(6), OFFSET = 0, INDEX = EMPXEMP# TYPE = BYTE(6), OFFSET=0,DEPT# TYPE = BYTE(4), OFFSET = 12PAY TYPE = FULLWORD, OFFSET = 16
• Konceptualni nivoEMPLOYEE
EMPLOYEE_NUMBER CHARACTER(6)DEPARTMENT_NUMBER CHARACTER(4)SALARY NUMERIC(5)
• Spoljašnji nivo• ( PL /I )
DCL 1 EMP2 EMP# CHAR(6)2 SAL FIXED BIN(31)
• (COBOL)01 EMPC
02 EMPNO PIC X(4)02 DEPTNO PIC X(4)
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.6
Detaljna šema sistemske arhitekture
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.7
Spoljaňji nivo
Svaki korisnik za izražavanje zahteva imana raspolaganju matični (eng. host) jezik ukoji se ugradjuje jezik podataka (eng. datasublanguage, DSL)• matični jezici: Java, C, PL/I, COBOL, ...• DSL: SQL, DB2, QUEL, DL/I, ...
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.8
Povezanost matičnog jezika i jezikapodataka
• Ako matični jezik ne može jasno da seodvoji od jezika podataka tada se zanjih kaze da su čvrsto vezani
• Ako mogu jasno i lako da se razdvojetada se za njih kaze da su labavovezani
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.9
Jezik podataka
Jezik podataka je kombinacija najmanjedva podjezika
1 Jezika za definiciju podataka (eng.Data Definition Language, DDL) koji sekoristi za definisanje ili deklarisanjeobjekata u bazi
2 Jezika za rad sa podacima (eng. DataManipulation Language, DML) koji sekoristi pri radu i obradi objekata iz baze
3 DCL ?!
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.10
Pojedinačni korisnik
1 Pojedinačnog korisnika interesujesamo jedan deo ukupne baze(spoljašnji izgled)
2 Korisnik vidi spoljašnje slogove (neodgovaraju nuzno sačuvanimslogovima)
3 Spoljašnja shema sadrzi definicijesvakog od različitih tipova slogova uspoljasnjem izgledu
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.11
Konceptualni nivo
• Predstavlja informacioni kontekstcelokupne baze podataka
• Podaci su nezavisni od jezika ihardvera
• Konceptualni izgled je definisankonceptualnom shemom
• Konceptualna shema uključujedefinicije svakog od tipovakonceptualnih slogova
• Zapisuje se pomocu konceptualnogDDL-a
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.12
Unutrašnji nivo
Reprezentacija baze podataka na niskomnivou• Sastoji se od pojava različitih tipova
unutrašnjih slogova (ANSI/SPARCtermin za sačuvani slog)
• Njihove karakteristike su definisaneunutrašnjom shemom i zapisanepomocu unutrašnjeg DDL-a
Jos uvek je iznad fizičkog nivoa (ne radi saadresama, blokovima podataka ilistranicama u memoriji)
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.13
Baza podataka i unutrašnji izgled
Termini• sačuvana baza podataka = unutrašnji
izgled• definicija sačuvanih struktura =
unutrašnja shemaNeki (aplikativni) programi mogu da radenad unutrasnjim izgledom baze• ne preporucuje se zbog sigurnosti i
integriteta• ovaj nacin obično koriste utility
programi
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.14
Preslikavanje nivoa
• Preslikavanje je opis povezanosti dvanivoa
• Jedno konceptualno/unutrašnjepreslikavanje
• kako su konceptualni slogovi i poljapredstavljeni na unutrašnjem nivou
• ključno za nezavisnost podataka odpromene fizičke strukture
• Vise spoljašnje/konceptualnihpreslikavanja
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.15
Spoljašnje/spoljašnje preslikavanje
• U nekim sistemima je mogućedefinisati jedan spoljašnji pogled prekoostalih (spoljašnje/spoljašnjepreslikavanje)
• Čest slučaj u relacionim sistemima
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.16
Promene strukture
• Konceptualno/unutrašnje preslikavanjeje ključno za nezavisnost podataka odpromene fizičke strukture
• Spoljašnje/konceptualno preslikavanjeje ključno za nezavisnost podataka odpromene logičke strukture
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.17
Poslovi DBA
• Definisanje konceptualne sheme(logičko projektovanje baze)
• Definisanje unutrašnje sheme (fizičkoprojektovanje baze)
• Komunikacija sa korisnicima• da li su im obezbedjeni svi željeni podaci• konsultacija pri projektovanju aplikacija• pomoć pri rešavanju problema, ...
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.18
Sistem za upravljanje bazom podataka
(iz uvodnog dela)• SUBP (eng. Database management
system, DBMS)• nivo softvera koji se nalazi izmedju
korisnika i fizičkih podataka u bazi• štiti korisnike baze od detalja na
hardverskom nivou• upravlja svim zahtevima za direktan
pristup bazi
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.19
Koraci u pristupu bazi
• Korisnik ispostavlja zahtev (npr. SQLupit)
• SUBP prihvata zahtev i analizira ga• Da bi odredio potrebne operacije SUBP
proverava spoljašnju shemu korisnika,odgovarajuće spoljašnje/konceptualnopreslikavanje, konceptualnu shemu,konceptualno/unutrašnje preslikavanje idefinicije memorijskih struktura
• SUBP izvrsava potrebne operacije (tj.zahtev korisnika) nad bazom
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.20
Funkcije SUBP-a
• Definisanje podataka (preko DDLprocesora)
• Obrada podataka (preko DMLprocesora)
• planska (zahtev poznat unapred)• neplanska (zahtev nepoznat unapred,
ad-hoc zahtev)
• Optimizacija izvršavanja upita• Obezbedenje zaštite i integriteta
podataka
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.21
Funkcije SUBP-a (nastavak)
• Obezbedjivanje konkurentnog pristupapodacima i oporavka
• Formiranje rečnika podataka(repozitorijuma podataka, kataloga)
• Sadrži informacije o definiciji SVIHobjekata (shema, preslikavanja,ograničenja, zaštite, ...)
• rečnik sadrži metapodatke (podatke opodacima)
• Obezbedjivanje što efikasnijeg rada• SUBP takodje predstavlja korisnički
interfejs ka sistemu baza podataka
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.22
Upravljanje prenosom podataka
• Zahtevi korisnika se prenose od mestanastanka do SUBP-a prekokomunikacionih poruka; rezultati setakodje vraćaju istim putem
• Prenosom poruka upravlja deo softverakoji se naziva komunikacioni upravljačpodataka (eng. data communicationmanager, DC manager)
• DC manager nije deo SUBP-a; radezajedno formirajući DB/DC sistem
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.23
Klijent-server arhitektura
• Sistem baza podataka moze da seposmatra kao da ima dve komponente
• server (u suštini SUBP)• klijent (ispostavlja zahteve serveru)
• Klijent-server arhitektura je omogućenai u distribuiranoj obradi
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.24
Klijent-server arhitektura
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.25
Utility programi
• Koriste se za različite administratorskeposlove
• spoljašnji - aplikacije specijalne namene• unutrašnji - deo servera
• Primeri• LOAD/UNLOAD/RELOAD• REORG• programi za statistiku, analizu, ...
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.26
Distribuirana obrada
• Isti posao se (delom) izvršava narazličitim računarima koji su spojeni umrežu
• Skoro da se upotrebljava kao sinonimza klijent/server
• Podaci iz jedne baze mogu da budusmešteni na dva ili više servera
• Klijent moze da pristupi do više servera
Arhitekturasistema bazapodatakaDefinicija
ANSI/SPARC arhitektura
Primer arhitekture na 3nivoa
Detaljna šema sistemskearhitekture
Spoljaňji nivo
Jezik podataka
Pojedinačni korisnik
Konceptualni nivo
Unutrašnji nivo
Baza podataka i unutrašnjiizgled
Preslikavanje nivoa
Promene strukture
Poslovi DBA
Sistem zaupravljanje bazompodatakaKoraci u pristupu bazi
Funkcije SUBP-a
Upravljanje prenosompodataka
Klijent-server arhitektura
Utility programi
Distribuirana obrada
2.27
Distribuirana obrada
Arhitektura sistema baza podatakaDefinicijaANSI/SPARC arhitekturaPrimer arhitekture na 3 nivoaDetaljna šema sistemske arhitektureSpoljanji nivoPromene strukturePoslovi DBA
Sistem za upravljanje bazom podatakaKoraci u pristupu baziFunkcije SUBP-aUpravljanje prenosom podatakaKlijent-server arhitekturaUtility programiDistribuirana obrada