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??