Indeksid ja päringute optimeerimine andmebaasisüsteemides
Allikas: Lambda
NB! Tegu on doktorantuurikursusega.
Sisukord
Materjale
Tõestajates kasutatavad indeksid:
Harilikes ja mälubaasides kasutatavad indeksid:
- http://www.lambda.ee/index.php/Pilt:T_tree_mainmemdbindexes.pdf
- http://www.lambda.ee/index.php/Pilt:Memdb_indexes_t_tree.pdf
- http://www.lambda.ee/index.php/Pilt:Grin.ppt
- http://www.lambda.ee/index.php/Pilt:Alx08_01transierf.pdf
- http://www.lambda.ee/index.php/Pilt:Sigmod98.pdf
- http://www.lambda.ee/index.php/Pilt:Main-memory-db.ppt
- http://www.lambda.ee/index.php/Pilt:MergePDFs-1.pdf
Esialgne sisu- ja ajakava
Põhiasjade ettekannetes oleks notes, et mida ja kuidas kontrolltööks lugeda
Ajakava:
1. pool põhiasjade ettekanded 2. pool ericased, detailid
1.
Märts: 12,19,26 Aprill: 2,9,16,23,30
Indeksid
Andres 12 märts.
Tekkinud küsimusi:
Lockid
Priit 19 märts
Query optimeerimine
Andri 26 märts.
Performancy võrdlemine
Madis, 2 Aprill
- Andmebaasi arhitektuurid: Enar, 9 Aprill (data hoidmine jne, network, relational, rdf, xml, ....)
Kaks osa:
- pÕhimõtteline arusaamine
pÕhiasjadest: - indeksid standardbaasivargid: - B+tree kettal - t-tree mälubaasides - hashid - bitindeksid - mitme-valja-indeksid jareldusmootori-indeksid - muutujad ka - nested objektide indekseerimine - lockimine (atomaarsed operatsioonid)
- traditsioonilised lock semaforid jne
- spinlockid:
- atomaarsus
- ootamise peale prose mitteraiskamine
- cache (eraldi 128 baidises ruumis)
- eraldi copysid datast, lockimise valtimine
voi minimeerimine
- query optimeerimine
- sql select lause .... otsing
- valida indeks/scan, mis tabelite jarjekord
- lihtsustada/teisendada
- Mõned konkreetsed algoritmid/meetodid:
- detailselt aru saada
- seoses sellega võiks ise välja mõelda
- costid ja nende minimeerimine ..:
- searchid erinevaid päringujärjekordi, ja
aproksimeerid iga costi
- mälubaas olemas - api, datastruktuurid, mallocid -
indeksid ja query ja locking jne
Ülesanded:
1. Iseseisev lugemine:
- vaja igast asjast ülevaade - mõnest asjast detailne arusaam
2. Ettekandeid:
- igaüks võtab ühe ülevaate:
- selle järgi õpiks teised üldpildi ära
- siit saaks viitasid, mida lugeda
- igaüks võtab 1-2 detailettekannet
3. Igaüks kirjutab ühe softitüki:
- indeksisüsteem (lisada/otsida) - lockimise süsteem - query süsteem
4. Kontrolltöö põhiasjade kohta
- näiteks: kuidas bitiindeksid töötavad,
kuidas query plani optimeerida
- kontrolltöö mais??