Recenzija knjige “Effective Oracle by Design” (Thomas Kyte)

Tuesday, 20.03.2007 – Dejan

Ovo je takodje jedna od izuzetno kvalitetnih knjiga na temu svakodnevnog rada sa Oracle bazom, u kojoj je Thomas Kyte ( http://asktom.oracle.com/) jos jednom pokazao svoje majstorske vjestine i dokazao da je istinski Oracle guru.

Ne samo da je u tehnickom pogledu odlicno prenio svoje znanje na papir, nego se i u knjizevnom pogledu nametnuo kao iznadprosjecan autor.

Knjiga je namijenjena i administratorima i programerima, jer svakodnevni rad sa Oracle bazom ukljucuje obe aktivnosti i usku povezanost oba tima, sto je Tom odlicno objasnio na samom pocetku knjige. Naveo je ceste situacije u kojima se administratori i programeri smatraju kao dva protivnicka tima, koji rade jedan protiv drugog, umjesto da kolegijalno saradjuju i medjusobno se pomazu.

Osim sto se u knjizi nalazi razno teoretsko polemisanje i savjetovanje po principu “To se ne treba tako raditi“/”To se treba ovako raditi“, knjiga sadrzi mnostvo primjera sa popratnim objasnjenjem.

Tako je npr. odlicno objasnjeno koristenje EXPLAIN PLAN izraza, kako ga ispravno koristiti i kako ga ispravno tumaciti. Pri tome je objasnio kako se koriste alati za “tracing” i analizu “tracing” podataka (StatsPack, TKProf, AUTOTRACE i td.).

Zanima vas objasnjenje kako upiti prolaze parsing, executing i fetching fazu? Ima i to.

Pitate se kako funkcionise Cost Based Optimizer i koje hintove mogu koristiti u upitu? Procitajte u poglavlju 6.

Imate dilemu kako dizajnirati odredjenu tabelu? Da li ju particionisati ili ne? Da li koristiti index na jednoj koloni ili da indexiram vise njih? Koje STORAGE opcije definisati – extent od 1M ili 10M? Da li omoguciti paralelne upite nad tabelom ili ne? Na ova i mnoga druga pitanja, Tom je prakticnim primjerima objasnio optimalno kreiranje tabela i indexa.

U poglavlju 8, “Effective SQL“, mozete procitati koje vrste joina postoje i kako tacno funkcionisu, koristenje Top-N upita, zatim fenomenalno objasnjeno koristenje analitickih funkcija (ROW_NUMBER, DENSE_RANK, RANK, NTILE i td.) i nazalost slabo koristeni pivoting (u zadnje vrijeme sam prepravio mnogo PL/SQL procedura da koriste pivoting upite za izvlacenje podataka iz tabela, a ne algoritme, koji u vise koraka uzimaju podatke i naknadno ih obradjuju; mozda cu uskoro napisati i par primjera o pivoting upitima).

Koristite li BULK processing za ETL operacije? Ne znate sta je to i kako se koristi? E, pa procitajte poglavlje 9 – “Effective PL/SQL Programming“.

I na kraju imate nekoliko savjeta za ponasanje u slucaju problema sa bazom, kao i par gotovih skripti, koje mozete prepisati i slobodno koristiti.

Ja licno nemam visegodisnje iskustvo sa Oracleom (tek sam se 2003. godine poceo baviti Oracleom), ali nakon citanja ove knjige, moje znanje je poraslo kao da se bavim 10 godina Oracle programiranjem (al’ sam skroman 😉 ).

Ocjena: 10/10

  1. One Response to “Recenzija knjige “Effective Oracle by Design” (Thomas Kyte)”

  2. A probaj “Expert Oracle Database Architecture 9i & 10g” by the same guy :-). Čovek prosto blista. Oduševljava me kako najsloženije probleme ume da simulira korišćenjem najprostijih mogućih primera.

    Ovde recimo ima lep primer kako može da ti se desi da BEFORE UPDATE trigger okine dva puta pod određenim okolnostima. Zatim neverovatan slučaj (koji te na kursevima sigurno ne uče), da SELECT može da generiše redo logove … usled block cleanout-a ….

    Sjajna knjiga!!
    I sviđa mi se blog, drago mi je da se neko odvažio i našao vremena da malo podeli znanje. Ja se takođe razmišljam da započnem svoj blog

    By _simma_ on Apr 2, 2007

Post a Comment