Sistemske statistike, odnosno CPU costing model po prvi su puta zaživjele u Oracle 9 inačici RDBMS sustava.
To novo svojstvo omogućuje Oracle optimizeru bolju procjenu potrebnih sistemskih resursa (cost) za izvršanje SQL upita.
Pod troškom sistemskih resursa podrazumijevamo tip, broj i duljinu trajanja I/O poziva, količinu potrebne memorije za
hash, sort i druge memorijski intenzivne operacije, kao i broj CPU ciklusa potrebnih za pronalaženje (buffer get) i procesiranje podataka.
Gledano unazad, od verzije 7 Oracle servera pa sve do uvođenja novoga modela, optimizer je isključivo vodio računa o broju I/O operacija koje je potrebno
izvršiti, kako bi se dohvatili svi relevantni podaci tijekom izvršavanja SQL upita.
Prilikom toga, sustav nije uzimao u obzir veličinu tih I/O operacija, niti brzinu njihova izvođenja.
Na putu rješavanja tog problema, u 8.1 inačici RDBMS uvedeni su optimizer_index_cost_adjust i optimizer_index_caching parametri.
Ti su parametri imali za cilj pružiti informacije optimizeru o tome koliko su singleblock I/O operacije "jeftinije" od
multiblock I/O operacija, dakle adresirati problem varijacija u tipu I/O operacija, kao i dati sustavu okvirnu ideju o tome
koliki postotak blockova može očekivati u buffer cache memoriji, a koji su tamo dospjeli putem singleblock I/O operacija (pristup putem indeksa).
Praktično gledajući, sistemske statistike se nameću kao idealno rješenje za "kalibraciju sustava", jer pomoću njih optimizer
raspolaže ulaznim informacijama o učestalosti i vremenu trajanja pojedinih tipova I/O operacija, kao i o brzini CPU jedinice,
a svi su podaci izvedeni iz stvarnog profila hardvera instaliranog na Oracle poslužitelju.
Međutim, to na prvi pogled idealno rješenje može biti uhvaćeno u zamku generiranja nerealne slike profila hardvera iz raznih razloga.
Problem može biti razne prirode: od sasvim jednostavnih slučajeva generiranje statistika u momentu kada na sustavu nije prisutno tipično opeterećenje, što
stvara krivu sliku o opterećenosti resursa, pa do kompleksnijih tehničkih uzroka kao npr. velikog cachea na diskovnim sustavima koji uz pomoć naprednog
prediktivnog read-ahead mehanizma stvara privid da su multiblock I/O operacije puno brže od singleblock I/O operacija, zbog čega
optimizer može postati skloniji mijenjanju execution planova prema full scan operacijama, na uštrb pristupa putem indeksa.
Tipično je upravo najveći problem kalibracija I/O podsustava.
Prirodno se nameće pitanje: kako izbjeći eventualne pogrešne procjene pri kalibraciji hardvera ?
Cilj je ovog rada upoznati čitatelje sa mogućnostima relativno novog alata pod nazivom ORION, a čija je namjena
predviđanje performansi I/O podsustava. Jedna od glavnih odlika ORION alata je mogućnost simuliranja tipičnog Oracle I/O opterećenja, jer
se oslanja na iste I/O pozive koje koristi i "pravi" RDBMS softver, bez potrebe za kompletnom instalacijom RDBMS softvera,
odnosno postojanja cijele instance i fizičke strukture baze podataka.
U sklopu rada naglasiti će se praktična primjena ORION alata u korištenju metode kalibracije koja uopće ne zahtijeva
postojanje Oracle RDBMS sustava, što nam omogućuje mjerenje performansi i kalibraciju sustava u strogo izoliranom okruženju,
bez vanjskih utjecaja.
Vrsta: Predavanje / Lecture
Razina težine: Srednje detaljno / Detailed
Poželjno iskustvo slušatelja: Iskusni (2-3 g.) / Experianced
Poželjna funkcija slušatelja:
DBA
Developer
Predviđeno vrijeme trajanja rada - aktivnosti: 45 min
401_Prodan Kalibracija.pdf 370,65 kB
Login d.o.o.
Autor radi na poslovima implementacije Oracle sustava u tvrtki Login d.o.o.
Osobni interes autora je specijalizacija na području poznavanja rada Oracle RDBMS poslužitelja, fizičkog dizajna
baze podataka, te praktične primjene raspoloživih tehnologija u cilju rješavanja specifičnih aplikativnih potreba.
U svakodnevnom radu susreće se sa različitim sustavima, od manjih transakcijskih poslužitelja, do velikih
DSS okruženja, od Windows/Linux Intel baziranih poslužitelja, do složenih RISC baziranih sustava u RAC okruženju.
2004. godine autor je stekao Oracle9i OCP, a 2005. godine Oracle10g OCP certifikat.