2. Füüsiline disain
2. Füüsiline disain
2. Füüsiline disain
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TTÜ: Andmebaasi füüsiline <strong>disain</strong> (2012)<br />
© Erki Eessaar<br />
<strong>2.</strong><strong>2.</strong>1 Transaktsioonanalüüs<br />
Selleks, et leida andmebaasi osad, mis võivad põhjustada probleeme<br />
töökiiruses tuleb leida:<br />
• Transaktsioonid, mis käivituvad sageli ja millel on töökiirusele suur<br />
mõju.<br />
• Transaktsioonid, mis on organisatsiooni toimimiseks hädavajalikud.<br />
• Ajaperioodid päeva/nädala jooksul, millal andmebaasi kõige rohkem<br />
kasutatakse (ingl. k. peak load)<br />
80/20 reegel – 20% kasutajate transaktsioonidest)annavad 80% andmebaasi<br />
kasutamise mahust.<br />
Selleks, et leida tabelite kasutamine transaktsioonide poolt, koostatakse<br />
CRUD maatriksi (Transaktsioonide / tabelite risttabel).<br />
CRUD maatriksi alusel leitakse tabelid, mida kasutavad kõige rohkem<br />
transaktsioone. Neid tabeleid kasutavaid transaktsioone uuritakse lähemalt.<br />
Transaktsiooni analüüsimise käigus leitakse järgmine informatsioon.<br />
• Tabeli kasutamise tüüp (andmete lisamine, muutmine, kustutamine,<br />
lugemine)<br />
• Kasutatavad tabelid ja veerud. Veergudes, milles andmeid<br />
muudetakse võib olla kasulik indeksi kasutamisest loobuda.<br />
• SQL lause WHERE klausli tingimustes määratud veerud<br />
(indekseerimise kandidaadid).<br />
• Veerud, mis osalevad SQL lausetes tabelite ühendamisel<br />
(indekseerimise kandidaadid).<br />
• Veerud, mida kasutatakse SQL lausetes sorteerimisel (indekseerimise<br />
kandidaadid).<br />
• Veerud, mida kasutatakse SQL lausetes grupeerimisel (indekseerimise<br />
kandidaadid).<br />
• Transaktsiooni keskmine päevase töötamise sagedus.<br />
• Transaktsiooni poolt keskmiselt kasutatav ridade hulk.<br />
• Transaktsiooni maksimaalse kasutamise ajaperiood ja sagedus.<br />
• Transaktsiooni poolt maksimaalselt kasutatav ridade hulk.<br />
• Nõudmised transaktsiooni töökiirusele (nt. peab kestma alla 1 sekundi).<br />
Näiteid transaktsioonanalüüsi põhjal tehtavatest järeldustest.<br />
• Päringu tingimustes sageli kasutatavatele veergudele, kus on palju<br />
unikaalseid väärtuseid, tuleks luua B-puu tüüpi indeks. Indeks tuleb luua<br />
vaid juhul, kui sellist indeksit ei ole eelnevalt loodud.<br />
• Tabelitele, milles ridade arv on väike või mida sageli muudetakse, ei ole<br />
mõtet täiendavalt indekseerida.<br />
• Tabelid, mida kasutatakse sageli päringus koos, võiks Oracles võimalusel<br />
koondada ühte kobrasse (klastrisse).<br />
15