Indeksid ja päringute optimeerimine andmebaasisüsteemides

Allikas: Lambda

NB! Tegu on doktorantuurikursusega.

Materjale

Tõestajates kasutatavad indeksid:

Harilikes ja mälubaasides kasutatavad indeksid:

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