Digitalne puskice

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Lekcija 1.

1.Navesti i objasniti 3 zadatka koje obavlja DBA?

DBA ima sledece zadatke :

 Implementacija, konfiguracija I resavanje problema na instancama baze podataka, replikacija,


bekap, smestanje I pristup
 Postvljanje privilegija korisnika unutar okruzenja bp kako bi im ogranicili neke podatke
 Nadzor I optimizacija performance Sistema koriscenjem indeksa I optimizacije diska.
 Instaliranje, konfigurisanje, otklanjanje problema I odrzavanje Sistema baze podataka

2.Koja je razlika između Baze Podataka i DBMS-a?

Baza podataka je organizovano skladiste podataka, dostupnim preko imenovanih elemenata podataka.

DBMS predstavlja softver koji omogucava korisnicima ili programerima da kreiraju, azuriraju, dohvataju I
smestaju podatke u bazu podataka. Softver je odgovoran za sigurnost, integritet i kontrolu pristupa
podacima I za optimizaciju.

3.Koja je odgovornost DA a koja DBA?

DA (Sluzbenik za podatke) je odgovoran za:

•Identifikovanje i kategorizaciju podataka koje zahtevaju korisnici

•Kreiranje konceptualnih i logičkih modela podataka da bi precizno opisali vezu između elemenata
podataka u poslovnim procesima

•Postavljanje pravila u vezi podataka, za celu organizaciju

•Identifikaciju vlasnika podataka

•Postavljanje standarda za kontrolu i korišćenje podataka

• Radi sa metapodacima kao i sa podacima(imovina kompanije) i brine se o kvalitetu podataka


integritetu i ponovnom koriscenju

DBA je osoba koja zajedno radi sa DA

Prihvata logicke modele od DA radi implementacije fizicki baze podataka. Razvija bazu podataka, testira,
implementira I odrzava njen rad. Bavi se I performansama Sistema kako bi ga ubrzao.

4.Navesti bilo koje dve vrste DBA i objasniti njihove zadatke.

DBA Sistema (Isto kao SA podesavanje Sistema instalacija softvera, bavi se tehnickim problemima)

Modeler podataka (Isto kao DA prikuplja zahteve, analizira, kreira konceptualni i logicki model podataka)

Kreator baze podataka (Kreiranje logickog modela podataka ukoliko nema DA ili modelera podataka.
Translacija iz logickog modela u fizicki dizajn baze podataka.

Implementiranje efikasnih baza podataka pomocu indeksa fizicke strukture I njihovo mapiranje na fizicke
uredjaje.

Analiza pristupa podataka I izvrsavanje zahteva kako bi se obezbedilo efikasno izvrsavanje SQL naredbi.

Kreiranje strategija za bekap I oporavak)

Administrator skladista podataka (


Iskustvo sa poslovnom logikom, analizom podataka I upitima

Dizajn podataka I uocavanje problema u dizajnu skladista podataka (tehnologija OLAP)

Transformacija podataka I razumevanja problema kvaliteta podataka

Iskustvo sa formatima podataka za ucitavanje I izbacivanje podataka

Administracija srednjeg sloja (pronalazenja podataka I njihov prikaz korisnicima)

5.Od čega zavisi koliko administratora baza je potrebno zaposliti? Nabrojiti bar tri aspekta.

Broja baza podataka

Broja korisnika

Broja aplikacija, tipa aplikacija, DBA alata

Ocekivane Performanse od strane korisnika

Ukoliko je potrebna dostupnost baze od 99.99%

6.Navesti i objasniti okruženja na kojima se implementira baza podataka. Objasniti posao DBA u
navedenim okruženjima.

Postoje 3 okruzenja TEST (sandbox okruzenje) , QA (Quality Assurance, provera kvaliteta) Production

Test okruzenje

Dizajn baze podataka I Sistema na kom se kreira

Testiranje jedinica sa nekim manjim skupom podataka

Testiranje integracija

QA

Shakeout testig – process identifikovanja I resavanja problema, nedostataka I slabosti Sistema

Testiranje sa relevantnim sistemima

Volume testing – provera rada baze podataka pod velikim opterecenjem

Production
U produkciji se moze analizirati baza podataka koriscenje podataka I optimizovanje samog rada
baze na osnovu zelja korisnika. Odrzavanje Sistema nakon pustanja u rad

7.Objasniti računarstvo u Oblaku sa stanovišta baze podataka? Koji su problemi u poslu DBA za
administriranje baze podataka u Oblaku?

Nasu bazu podataka mozemo smestiti na udaljeni server preko servisa koji nude cuvanje te baze i bez
brige o hardveru tih racunara koji te podatke skladiste, to je posao trece strane.

Glavni problem je bezbednost podataka, jer ostavljamo podatke trecoj strani I prilikom rada sa njima te
podatke prenosimo preko nebezbednog kanala kao sto je internet do korisnika veca je sansa da dodje do
kradje tih podataka.
Dostupnost nasih podataka je takodje problem zato sto nam oni mogu reci da ce godisnje biti do 1000
minuta prekida.

LEKCIJA 2
1.Navesti faktore koji utiču na odluku o izboru DBMS-a.

Podrska za operativni Sistem,

Tip organizacije

Merila performasni (TPC)

Skalabilnost

Dostupnost odgovarajucih alata za podrsku(za administraciju, analizu performansi, bekap, oporavak)

Dostupnost tehnickih lica (DBA, Programera, SA)

Trosak

Plan sledeceg izdanja(azuriranja)

2.Opisati četiri nivoa DBMS arhitekture(vrste i mogućnosti obrade).

DBMS Preduzeca

Dizajniran za skalabilnost I performanse visokog nivoa

Podrska za velike baze podataka, veliki broj korisnika

Izvrsava se na vrhunskim racunarima (Centralni racunar mainframe, server(Unix,Linux, WServer)

Napredne karakteristike DBMS su osnovna stavka(Podrska multiprocesiranju, paralelni upiti)

Visoka cena, neki od njih su IBMS, Oracle, Datacom

DBMS Odeljenja

Ponekad se naziva I DBMS radne grupe, malog do srednjeg obima


Izvrsava se na Unix, Linux, Windows

Niza cena kostanja u odnosu na DBMS preduzeca

Poboljsanja hardvera softvera PC mogu omoguciti obavljanje zadataka na nivou DBMS preduzeca

Personalni DBMS

Jedan korisnik

PC slabe do srednje snage

Microsoft Access, Oracle Database Personal Edition, DB2

Nije koristan za velike aplikacije i visekorisnicke aplikacije

Niska cena kostanja

Mobilni DBMS

Izvrsavanje na mobilnim uredjajima

Specijalizovane verzije DBMS odeljenja ili preduzeca

Udaljeni korisnici obicno nisu povezani sa mrezom

Podaci mogu biti sinhronizovani sa podacima koji se nalaze na centralnom server

InterBase, SqlServer Compact, Oracle Database Lite

Sistemi baze podataka u oblaku

Ovakvi sistemi pruzaju DBMS servise preko Interneta

Poveravamo bazu podataka cloud provajderu kako bi smanjili troskove odrzavanja I hardverske
opreme I ljudstva da to sami napravimo.

Amazon Relational Database Service, Microsoft Azure SQL Database, Heroku

3.Šta je grupisanje u bazama podataka? Objasniti grupisanje deljeno-ništai deljeni-disk.

Grupisanje povecava dostupnost I skalabilnost tako sto se vise nezavisnih Sistema rade zajedno kao
jedan. Postoji podrska ako neka instance padne (failover)

DN (Deljeno Nista)

Omogucava da vise zasebnih Sistema rade zajedno I komuniciraju kroz mrezu.


Zahtev koji korisnik ima se prosledjuje sistemu koji ima taj podataka I samo jedan system moze
posedovati I pristupiti tom resursu u datom trenutku.

U slucaju kvara vlasnistvo nad podacima ide drugom sistemu. Skalabilnost je Velika.

Deljeni disk
Svi povezani sistemi dele iste disk uredjaje. Svaki system moze adresirati sve disk uredjaje.

Svi imaju svoju memoriju I cpu.

Ne skaliraju se dobro za slabije racunare. Potrebno je imati jaci racunar poput mainframe koji moze
obradtiti ogromne kolicine posla. Ima visoku dostupnost performanse najbolje pri citanju podataka.

4.Navesti prednosti i mane grupisanja deljeno-ništa i deljeni-disk

Prednosti deljeno Nista Sistema :

Moze se koristiti jeftiniji hardver, Skoro neogranicena skalabilnost

Radi dobro I pri citanju I pisanja u bazu podataka

Podaci su podeljeni duz klastera

Mane:

Potrebno je mnogo vise disk uredjaja

Samo jedan sistem moze pristupiti podatku u isto vreme.

Prednosti deljeno disk :

Brzo adaptiranje na promenu obima posla

Visoka dostupnost, Svaki sistem moze da adresira sve disk uredjaje

Performanse najbolje za citanje

Podaci su zajednicki za sve sisteme

Mane :

Potreban jaci racunari za obradu I ne skalira se dobro za slabije racunare

Nisu pogodni za upis I azuriranje podataka (Performanse slabije)

5.Objasniti zašto i kako se koristi keširanje podataka od strane DBMS-a.

DBMS kesira podatke radi brzeg izvrsavanaj upita. Citanje direktno sa diska je skupo, odnsono znatno je
sporije, u odnosu na citanje podataka sa nekog bafera obicno RAM memorije koja mnogo ubrzava ceo
process.

Prilikom potraznje jednog programa za redom iz tabele zaposleni. Red se izvlaci sa diska I skladisti u
buffer pool I prosledjuje se programu koji je taj red trazio. Kada isti ili drugi program potrazuje isti red
nece biti potrebno ponovno citanje iz baze vec ce se podatak direktno proslediti program od strane
DBMS.

Sto je veci bafer to ce I podaci biti duze u memoriji

6.Navesti pet zahteva koji moraju da se isplaniraju za instaliranje novog DBMS-a.

Zahtevi hardvera (CPU), memorije, firmver


Zahtevi za smestanje DBMS (radni fajlovi, logovi),Sistem, Aplikacije

Zahtevi za memorijom Baferi podataka I kes, Programski kes

Zahtevi za softverom Jezici I kompajleri

Konfiguracija Softvera I DBMS

7.Koji problemi mogu da nastanu kod odluke da se instalira nova verzija DBMS-a u postojeći sistem?

Moze doci do remecenja poslovnih operacija

Konvertovanje struktura baze podataka

Trosak azuriranja moze biti barijera za azuriranje

Mozda ce nova verzija generisati putanje pristupa SQL koje se izvrsavaju losije nego ranije

Podrzani softverski proizvodi mozda nemaju odmah podrsku za novu verziju

Zahtevani softver I hardver mozda nas sistem ne podrzava

LEKCIJA 4
1.Koji su koraci za transformaciju logičkog modela u fizički? Šta je DDL skripti čemu služi?Šta se
definiše prilikom transformacije atributa u kolone.

Mapirati entiete u logickom modelu u tabele u bazi.


Atributi entiteta postaju kolone tabela. (Tipovi podataka I duzina, ogranicenja, NULL)
Odrediti primarne kljuceve I kreirati indekse.
Veze moramo odrediti kardinalnost i povezati tabele preko FOREIGN KEY ogranicenja.

Razmotriti performanse kreirane baze podataka i ukoliko postoji potreba moguce je uraditi
denormalizaciju I tako ubrzati izvrsavanje upita.

DDL(Data definition language) nam omogucava da sve te zeljene korake i ucinimo. DDL skriptom taj fizicki
dizajn transliramo u bazu podataka, ona nam omogucava da kreiramo tabele, kolone, ogranicenja, tip
podataka, autoinkrementaciju, indeksiranje. Ona predstavlja skup SQL upita koji se sekvencijalno
izvrsavaju i time se ubrzava rad.

2.Kojim redosledom treba da se kreiraju kolone? Zašto je bitan redosled kolona. Objasniti.

Redosled kolona je bitan zbog logovanja,citljivosti, kao I zbog performansi upita koje radimo.

Kolone koje se cesto ne azuriraju staviti na prvo mesto.

Staticke kolone

Cesto azurirane na kraju.


Obe kolone koje se cesto zajedno modifikuju, staviti jednu pored druge

3.Objasniti šta su prostori za tabele (table spaces) ili filegoups i u kakvoj su vezi sa fizičkim fajlovima.
Da li se tabela može naći u više table spaces (filegroups)? Da li se tabela može naći u više fajlova?

Table spaces ili file groups su logicki prostori za smestanje I grupisanje tabela I indeksa na fizickom nivou.
Smestanjem tabele u file groupu omogucava administratoru bolje
upravljanje prostorom I performansama. Tabela moze biti deo samo jednog
table space, ali moze biti u vise fizickih fajlova unutar istog table space.

4.Objasniti kako relaciona baza podataka koristi indekse?

Relaciona baza podataka koristi indekse za brze pretrazivanje I pristup


podacima.Ukoliko imamo indekse mozemo izbeci prolazak kroz celu tabelu I
tako ubrzati upit. Direktna pretraga cele tabele je jako spora I zahtevna za
sam processor racunara.

5.Objasniti šta je indeks i kako radi B-Tree index.

Indeks je struktura podataka ili tehnika koja se koristi za brzo pretrazivanje, sortiranje i pristup podacima
u tabeli.

B tree index (struktura podataka) se sastoji iz cvorova koji su medjusobno povezani. Pocinje sa korenom
stable I zavrsava se u listovima stabla. Cvorovi koji nisu listovi sadrze stranice sa opsezima vrednosti
kljuca I pokazivaca na sledeci cvor.

6.Objasniti šta je indeks i kako radi Bitmap index. Kada je pogodno koristiti ovaj indeks?

Indeks je struktura podataka ili tehnika koja se koristi za brzo pretrazivanje, sortiranje i pristup podacima
u tabeli.

Bitmap index (struktura podataka) za svaku mogucu vrednost iz kolone koja je indeksirana kreira niz
bitova duzine jednake broju redova date tabele. Ukoliko imamo kolonu pol iz tabele zaposleni
(Musko,Zensko,Ostalo) imamo 3 moguce vrednosti kolone pol I zato cemo imati 3 niza bitova duzine
jednake broju redova tabele zaposleni na primer 5. I za taj zadati primer niz za muski pol moze izgledati
ovako.

M[1,0,0,1,1] – mesto na koje je postavljena 1 predstavlja da se u tom redu nalazi vrednost Muski pol

Pogodno ga je koristiti kada imamo mali broj razlicitih vrednosti

7.Objasniti šta je indeks i kako radi Hash indeks.

Indeks je struktura podataka ili tehnika koja se koristi za brzo pretrazivanje, sortiranje i pristup podacima
u tabeli.

Ulazni podatak prolazi kroz neku hash funkciju(MD5,SHA-2,BLAKE) I kao rezultat dobijem hes vrednost
koju smestamo u kantice(buckets) koje su organizovane poput niza. Kada se izvrsava upit nad tom
kolonom koja ima hash indeks. Podatak iz where klauzulu ce proci kroz hes funkciju dati jedinstvenu hes
vrednost i onda cemo nju pronaci u kanticama bez potrebe da prolazimo kroz celu tabelu I tako doci do
rezultata.

8.Kada se razmatra smeštanje izvedenih podataka u tabelu?

Ako se odredjeni podaci cesto koriste u upitima, a njihovo izracunavanje moze biti zahtevno. Smestanjem
tih izvedenih podataka u tabelu moze poboljsati performanse I ubrzati upite koji mozda korisnici cesto
izvrsavaju. Moze nam pomoci I kod cuvanja tih podataka radi neke analize.

9.Objasniti razliku između klasterovanih I neklasterovanih indeksa. Koliko se klasterovanih indeksa po


tabeli može kreirati?

Klasterovani indeksi moze biti samo jedan po tabeli I to zato sto klasterovani indeks uredjuje celu tabelu
po koloni koja je indeksirana I podatke na disku organizuje po toj koloni. Ukoliko imamo primarni kljuc on
je verovatno klasterovan i kako god mi ubacivali te vrednosti ID (8,5,7,2,3,1) on ce biti I fizicki i nama
vizuelno sortiran od 1 pa na dalje.

Neklasterovani indeks za razliku od klasterovanog ima 2 fajla jedan za indekse drugi za podatke I moze
biti vise neklasterovanih indeksa po tabeli. Neklasterovani indeks pored vrednosti kolone ili vise njih koje
su indeksirane sadrzi RID koji ukazuje na originalne podatke i na taj nacin se pretraga radi kroz indeks sto
je brze I efikasnije i preko njega dolazimo do tacno onog reda koji nam je potreban iz tabele.

10.Dati primer denormalizacije i objasniti kada se radi denormalizacija?

Prejoined tables – troskovi spajanja previsoki pa spajamo dve tabele

Redudantni Podaci – za redukovanje broja spajanja uvodimo kolonu npr. (ukupan iznos racuna)

Kombinovane tabele – za eliminaciju veze 1-1 (Tabela zaposleni I tabela adresa zaposlenog)

Radi se kada je potrebno podici performanse normalizovane baze.

11.Navesti četiri razloga za korišćenje pogleda.

Sigurnost – nivo kolone I reda

Pristup –brzi I efikasniji pristup

Izvodjenje podataka – staviti kalkulacije u pogled

Zamaskirati kompleksnost – sakriti komplikovan SQL od korisnika

Moguce je promeniti ime kolone I ime tabele

12.Objasniti šta je vreme poslovanja a šta sistemsko vreme u bazama podataka. Kako DBMS podržava
ova dva vremena?

Vreme poslovanja (Vreme aplikacije ili validno vreme) moze biti neki vremenski period u kojem je
odredjeni podatak validan u kontekstu poslovanja. To je neko realno vreme koje ima znacaj za nase
poslovanje.
Vreme poslovanja mozemo prikazati preko jedne tabele gde imamo period pocetka I kraja.
Sistemsko vreme se odnosi na vremenske informacije o unosenju, azuriranju ili brisanju podataka iz baze
podataka. Kolone za pracenje sistemskog vremena created_at, updated_at, deleted_at
Sistemsko vreme se prati koristeci dve tabele. Jedna tabela sadrzi trenutne podatke, a druga, istorijska
tabela, neke zastarele podatke(mozda obrisane).

13.Objasniti šta je particionisanje tabela i indeksa. Kada i zašto se koristi?

Particionisanje nam omogucava fizicko razdvajanje podataka na osnovu vrednosti u odredjenoj koloni.
Omogucava nam poboljsanje performansi I omogucava paralelnu pretragu I azuriranje podataka.

14.Ukoliko indeksi poboljšavaju performanse, zašto ne kreirati sve moguće indekse za svaki slučaj?
Objasniti

Ukoliko to ucinimo dobicemo samo kontra efekat. Svakim azuriranjem ili unosenjem podataka DBMS se
stara da azurira I indekse I tim odrzavanjem indeksa stetimo performansama Sistema. Pored ovoga
indeksi zauzimaju I neki prostor na disku I ukoliko ih kreiramo previse to moze zauzeti odredjeni prostor
na disku koji kasnije moze steti performansama sistema.

LEKCIJA 5
1. Opisati šta znači akronim ACID i definisati svaku komponentu.

ACID – Atomicity, Consistency, Isolation, Durability

Atomicity svi upiti se izvrse ili se nijedan ne izvrsi. Ako ne uspe jedan deo transakcije cela transakcija se
ponistava.

Consistency stanje podataka je konzistentno pre I posle transakcije

Isolation transakcije su medjusobno izolovane, to znaci da izvrsavanje jedne trans. Ne sme biti vidljivo
drugim transakcijama pre nego se zavrsi

Durability ako se transakcija nasilno zavrsi, podaci su u konzistentnom stanju

2. Zašto je zaključavanje potrebno da bi se osigurao integritet podataka? Objasniti.

Bez zakljucavanja moglo bi doci do trenutka da 2 korisnika istovremeno menjaju podatke i time bi doslo
do narusavanja integriteta podataka ili gubljenja podataka. Zakljucavanjem podatka osiguravamo da ce
samo jedan korisnik u jednom trenutku azurirati neku kolonu ili obrisati neki red.

3. Opisati dve primene tehnika dizajna da bi se minimizovao uticaj zaključavanja na performanse


aplikacije.

Optimisticko zakljucavanje – tehnika koja omogucava da se resursi nece zakljucati tokom trajanja
transakcije, vec ce pre zakljucavanja transakcije doci do provere konfilkta sa ostalim transakcijama I
ukoliko ih ima transakcija se ponistava.

Delimicno zakljucavanje - Umesto zakljucavanja celog resursa, delimicno se zakljucavaju samo delovi
resursa koji se trenutno koriste. Ova tehnika smanjuje vreme tokom kojeg resursi ostaju zakljucani, cime
se povecava stepen paralelizma i performanse se poboljsavaju.
4. Šta znači „relaciono zatvaranje“ i kakvog uticaja ima na dizajn aplikacije.

Relaciono zatvaranje se odnosi na sposobnost relacionog modela da dodje do skupa podataka putem
veza izmedju razlicitih tabela. Ovo svojstvo omogucava konzistentno I efikasno predstavljanje podataka.

II Relaciono zatvaranje je karakteristika baze podataka da kao rezultat upita vrati skup podataka.

Aplikacija mora znati kako da te redove I kolone obradjuje putem svojih funkcija i petlji.

5. Opisati, ugrubo, šta je potrebno da bi se koristio SQL u programu koji je pisan na jeziku kao što je C
ili Visual Basic?

Potreban je Database API (CLI) koji ce te podatke preneti iz baze unutar samog programa. U slucaju C ili
Visual Basic potreban nam je ODBC kako bi uspostavili vezu izmedju baze I programa I preko njega
dobijali rezultate sql upita. Nakon dobijanja rezultata nas program mora biti u mogucnosti da obradi ove
rezultate.

6. Nacrtati komponente ODBC modela i objasniti komunikaciju aplikacije sa bazom podataka pomoću
tog modela.

Aplikacija poziva preko ODBC API driver manager.

Driver Manager poziva ODBC driver koristeci API

ODBC drajver pristupa bazi preko mreze koristeci


DATABASE API

7. Čemu služe drajveri baze podataka i u kakvoj su vezi sa operativnim sistemom.

Drajveri baze podataka omogucavaju komunikaciju izmedju aplikacija I baza podataka. Pored instalacije
svake baze podataka instalira se i kompatiblini drajver (u odnosu na operativni sistem) koji nama
omogucava ovu komunikaciju. Tako da nasa aplikacija moze komunicirati sa vise baza ukoliko poseduje
odgovarajuce drajvere za njih, koji sql upite translira u komande prepoznate od tih baza podataka .
Drajveri implementiraju protocol za transfer upita i rezultata izmedju klijenta I baze.

8. Čemu služi mehanizam brave? Objasniti.

Mehanizam brave nam garantuje integritet podataka. Omogucava da vise korisnika iz vise okruzenja
pristupe I modifikuju podatke u bazi podataka u isto vreme.

9. Šta je granularnost brave? Navesti moguće nivoe zaključavanja. U kakvoj vezi su granularnost brave i
konkurentan pristup?
Granularnost brava nam govori koji nivo baze zakljucavamo prilikom izvrsavanja transakcija, odnosno
stepen detalja kojim se kontrolise pristup podacima.

Red, Kolone,Stranica(Blok), Tabela, Tabela stranica, Baza podataka

Njihov odnos je obrnuto proporcijalan. Visoska konkurentnost pristupa ce biti ukoliko je granularnost na
nivou reda ili kolona. Odnosno moze vise korisnika da obradjuje jednu tabelu kroz transakcije. Dok u
slucaju zakljucavanja cele baze moguce je da samo jedan korisnik obradjuje podatke kroz tu transakciju.

10. Koje vrste brava postoje? Objasniti svaku. Prikazati matricu kompatibilnosti brava.

Deljena brava

Uzima se kada se podatak cita bez namere da se azurira


Ukoliko se deljeno zakljucavanje izvrsi na redu, strani ili tabeli, ostalim procesima ili korisnicima
se dozvoljava citanje istih podataka

Eksluzivna brava

Uzima se kada se podatak modifikuje

Ukoliko se eks. Brava uzme na redu, strain ili tabeli, ostalim procesima ili korisnicima se ne
dozvoljava citanje ili izmena istih podataka

Brava za azuriranje

Uzima se kada se podatak prvo cita pre nego sto se promeni ili obrise.

Brava azuriranje ukazuje da podatak moze da se modifikuje ili brise u buducnosti

Ukoliko se podaci modifikuju ili brisu,DBMS ce unaprediti bravu za azuriranje na eksluzivnu bravu

S – deljena brava

U - brava za ažuriranje

X – ekskluzivna brava

11. Šta je istek vremena (timeout) brave. U kom slučaju i zašto se koristi taj parametar?

Mehanizam zakljucavanja u DBMSu sprecava procese da zauvek cekaju na dodelu brava dodelom isteka
vremena(lock timeout value) Koristi se u slucaju velike konkurentnosti zato sto ce drugi procesi dobiti
lock timeout value odnosno njihova transakcija ce biti prekinuta I time cemo zaobici taj dugacak period
cekanja koji bi mogao nasteti performansama Sistema I takodje sprecavamo nastanak deadlocka.

12. Koja je razlika između isteka vremena brave i deadloka?

Istek vremena brave pokusava da spreci nastanak deadlocka dok je deadlock situacija kada 2 ili vise
transakcije cekaju jedna na drugu da oslobode resurse I time prave zagusenje u saobracaju.

13. Navesti moguće načine rešavanja blokade (deadlock).


Promena granularnosti brave, tako da je manje podataka zakljucano

Na pocetku transakcije dohvatiti sve neophodne brave ukoliko je moguce

Najbolji nacin je da se isprati redosled izmene u bazi za sve programe

Kada dodje do njih preko isteka vremena brave mozemo odbaciti neku od transakcija dok ce se ostale
izvrisiti do kraja

LEKCIJA 6
1.Navesti i objasniti u jednoj rečenici vrste promena koje utiču na bazu podataka.

DBMS softver – dba mora da kreira pravila I procedure za koriscenje neke nove DBMS osobine

Hardverska konfiguracija – promenom hardvera ce morati I konfiguracija DBMS da se promeni,


sistemskih parametara I strukture bp.

logicki I fizicki dizajn baze podataka – Ukoliko se promeni logicki model mora se promeniti I fizicki I
Samim tim I na samu bazu podataka (tabele, relacije, indeksi)

aplikacije – Promene u bazi podataka moraju promeniti I samu aplikacij, jer u suprotnom ta promena u
bazi nema efekta I obrnuto

Fizicke strukture baze podataka – Tabele, indeke I njihove promene kroz ddl naredbe

2.Tačno ili netačno? DBA obično inicira promene u bazi podataka. Zašto da ili zašto ne?

Netacno to cini obicno sam korinsik ili programmer preko upita kroz samu aplikaciju koja je u vezi sa
bazom.

DBA zahteva promene u vezi performansi ili primenom novih tehnologija

3.Zašto je teško dodati kolonu između dve postojeće kolone u tabeli koja je već kreirana?

Svaka kolona iz tabele ima svoju poziciju koja je zapisana u sys katalogu I zbog toga je nemoguce dodati
kolonu izmedju dve postojece to bi zahtevalo I fizicko premastanje svih podataka na disku sto nije
moguce. Ukoliko to zelimo da ucinimo moramo celu tabelu obrisati I ponovo je kreirati.

4.Koje su tri vrste poređenja baze podataka koje mogu da budu zahtevane pri promeni okruženja baze
podataka?

DDL starog sa novim,

Strukutre

Podaci
5.Koji je uticaj brisanja tabele iz baze podataka?

Brisanje uklanja tu tabelu iz fizicke strukture baze podataka I uklanja ga iz fizickog I logickog modela.

To brisanje moze promeniti I druge elemente baze podataka.

6.Opisati alternativni metod promene koji može da se koristi u slučaju kada ne postoji alat za
upravljanje promenama u bazi podataka?

Moramo snimiti DDL script koji se koristi za kreiranje baze I azurirati ga blagovremeno.

Svaka promena se treba uneti u jedan DDL skript

7.Objasniti šta znači „kaskadni drop“.

Kada se objekat na visem nivou izbrise, brisu se I objekti na nizem nivou u hijerarhiji. Na primer, nas
primarni kljuc odeljenjeID se nalazi kao strain kljuc u tabeli zaposleni. Ukoliko u glavnoj tabeli obrisemo
odeljenje sa ID=10 brisu se svi zaposleni koji su pripadali tom odeljenju.

8.Zašto DBA treba da razume vezu između promene baze i povezanih promena u aplikaciji?

Promena struktura ce uticati na drugu stranu.

Promene u bazi podataka moraju promeniti I samu aplikacij, jer u suprotnom ta promena u bazi nema
efekta unutar aplikacije I obrnuto

9.Ukoliko je potrebno da se ubaci kolona između treće i četvrte kolone u tabeli koja ima 10 kolona,
opisati korake da bi se ova promena implementirala.

10.Zašto bi DBA želeo da ima mogućnost brzog poređenja strukture baze podataka?

Ova sposobnost je kljucna za efikasno upravljanje pri menjaju okruzenja, odrzavaju konzistentnosti,
uocavanju gresaka .
Lekcija 7
1.Definisati termin „dostupnosti“ baze podataka.

Dostupnost je stanje u kome datom resursu mogu prici njegovi korisnici.

2.Uporediti probleme performanse i dostupnosti.

Imaju neke slicnosti, ali glavna je razlika u tome sto je moguce pristupiti bazi podataka sa losim
performansama, dok bazi podataka koja je nedostupna pristup nije moguc. Ukoliko su performanse lose
do tog nivoa da korisnik ne moze obavljati svoj posao ta baza je nedostupna.

3.Koji sve faktori utiču na procenu troška zastoja?

Posao koji ce se izgubiti tokom zastoja

Trosak sustizanja nakon sto je sistem ponovo dostupan

Uticaj na smanjeje vrednosti deonica

Uticaj na imidz firm na trzistu

4.Objasniti kako dopunski sistemi za analizu (BI i Skladišta podataka) kao i održavanje utiče na
dostupnost baze podataka.

Dopunski sistemi za analizu kao I odrzavanje uticu na dostupnost baze podataka I to moze izazvati
privremeni zastoj baze podataka ili privremenu nedostupnost samih podataka . To vreme mora biti sto
manje, jer je trosak zastoja skup u danasnje vreme.

5.Navesti koji su mogući planirani i neplanirani prekidi i čime su uzrokovani. Koji je odnos planiranih i
neplaniranih prekida u procentima (okvirno)? Koji je procenat dostupnosti visoko dostupnih sistema?

Planirani prekidi su uzrokovani promenom

Odrzavanje baze podataka


Migracija aplikacije
Azuriranje konfiguracije
Propagiranje podataka

Neplanirani prekidi su uzrokovani problemima

Otkaz elemenata
Degradacija performansi
Ogranicenje kapaciteta
Greska aplikacije
Povratak transakcije
Korupcija podataka

Odnos je 70% planiranih prekida I 30% neplaniranih

Procenat visoko dostupnih Sistema je 99,999% dostupnosti (5 minuta zastoja na godisnjem nivou)
6.Navesti bar 5 mogućih uzroka problema dostupnosti.

Korupcija podataka
Gubitak podataka
Problem sa hardverom
Problemi aplikacije
Planirani i neplanirani prekidi
Problemi sa mrezom

Greske administratora

7.Navesti neke od tehnika za poboljšanje dostupnosti

Izvrsavanje rutinskog odrzavanja dok su sistemi operativni

Automatizovanje funkcija administratora

Koriscenje osobina visoke dostupnosti (paralelna obrada, grupisanje I razmena podataka)

Koriscenje hardverskih resenja I tehnologija(npr RAID)

You might also like