2012. őszi félév: Adatbázisok 2

 

(Utolsó módosítás: 2012. szeptember 9.)

 

Hirdetés:

A készüléshez mintaként felteszem Várkonyi László (Adatb2.odt), illetve Gerstweiler Anikó Éva és Molnár Dávid (Adatbazisok_2.pdf ) hallgatók által kidolgozott tételeket.

Ezek kivonatolt, ellenőrizetlen anyagok. Mindenki saját felelősségére tanuljon ezekből!

Célszerű mindenkinek saját ízlése, stílusa alapján hasonlóan feldolgoznia a tételeket.

A 9. tételhez tartozó kéziratot Nikovits Tibor magyarázatokkal látta el: Tetel9_kidolgozott.pdf

 

Szakdolgozati, TDK, diploma és doktori témák (2011-12): http://people.inf.elte.hu/kiss/Temak2011.doc

 

Tematika:

Fizikai fájlszervezés, indexelés, lekérdezések optimalizálása, méretek, költségek becslése, algebrai optimalizáció, műveleti költségek, végrehajtási tervek, Oracle megoldások,

naplózás, tranzakció-kezelés, Oracle megoldások.

 

A vizsga:

 

VIZSGANAPOK:

ETR-ben (Neptunban) lesz hirdetve. Eredményt is az ETR-ben (Neptunban) teszem közzé 1-2 napon belül.

Utolsó alkalommal csak UV!!!

 

Jegyek beíratása a vizsganapokon, a vizsgák helyszínén.

 

 

Vizsgakérdések:

 

  1. Az Oracle adatbázis-kezelő felépítése, működése, komponensei, példányok, rendszerállományok, memóriakezelése, rendszergazdai feladatok
  2. Lemezegységek, blokkok, fájlok felépítése, RAID megoldások
  3. Fizikai fájlszervezés, feladata, költségek, paraméterek, kupac, rendezett, hasító indexelt megoldások, módosítás, keresés, példákkal, előnyök, hátrányok
  4. Fizikai fájlszervezés, feladata, költségek, paraméterek, elsődleges index, másodlagos index, , bitmap index, módosítás, keresés, példákkal, előnyök, hátrányok
  5. Fizikai fájlszervezés, feladata, költségek, paraméterek, többszintű indexek, B-fa, B+-fa, B*-fa, módosítás, keresés, példákkal, előnyök, hátrányok
  6. Sql lekérdezés átalakítása relációs algebrai kifejezéssé, lekérdezésfordító, algebrai optimalizálás, szabályok, heurisztikákon alapuló algoritmus, példákkal
  7. A relációs algebrai műveletek megvalósítása, egy és többmenetes algoritmusok, műveleti költségek, outputméretek becslése
  8. Több tábla összekapcsolása, összekapcsolások sorrendje, futószalagosítás, materializáció, dinamikus programozási feladat, a félig-összekapcsolás (semi-join) és alkalmazása osztott lekérdezésekre
  9. A Q(A,B) JOIN R(B,C) JOIN S(C,D) háromféle kiszámítási módja és költsége, (feltéve, hogy Q,R,S paraméterei megegyeznek, Q.B-re és S.C-re klaszterindexünk van).
    1. balról  jobbra, b) balról jobbra és a memóriában összekapcsolva a harmadik táblával, c) a középső ténytábla soraihoz kapcsolva a szélső dimenziótáblákat.
  10. Az Oracle költségalapú és szabályalapú optimalizálása, lekérdezésterveinek megjelenítése, értelmezése, Explain plan, tkprof, hintek, példák
  11. Rendszerhibák kezelése, konzisztens adatbázis, tranzakciók, hibafajták, semmisségi (undo) naplózás és helyreállítás, ellenőrzőpont, ellenőrzőpont működés közben, példák
  12. Helyrehozó (Redo) maplózás, semmiségi/helyrehozó (Undo/Redo) naplózás, archiválás, példák
  13. Az Oracle naplózási/helyreállítási megoldásai
  14. Konkurenciavezérlés, ütemezés, sorbarendezhetőség, konfliktus-sorbarendezhetőség, megelőzési gráf, fogalmak, állítások (bizonyítás nélkül), példák.
  15. Zárolási ütemező, kétfázisú zárolás, holtpont, várakozási gráf, fogalmak, állítások (bizonyítás nélkül), példák.
  16. Különböző zármódú zárolási rendszerek, kompatibilitási mátrix, felminősítés, módosítási zárak, növelési zárak, fogalmak, állítások (bizonyítás nélkül), példák
  17. Zárolási ütemező felépítése, zártáblák
  18. Figyelmeztető zárak, fantomok, nem megismételhető olvasás
  19. Időbélyegzés, érvényesítés (Ez a tétel nem fog szerepelni vizsgán!)
  20. Az Oracle tranzakció-kezelési megoldásai, elkülönítési szintek, zárolások.

 

 

Vizsgára felkészüléshez segítséget jelent:

 

 

A tankönyv (továbbiakban: Könyv):  Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom, Adatbázisrendszerek megvalósítása, Panem-John Wiley & Sons, Budapest, 2001. (2007-ben újra kiadták puhafedelű változatban. )

Kapható: http://www.libri.hu/konyv/adatbazisrendszerek-megvalositasa.html

 

 

Oracle doksi: Database Concepts (Ugyanez pdf-ben) A pdf fájlban megjegyzéseket találtok magyarul. További megjegyzések hozzáadására a PDFXVwer.zip ingyenes program használható.

Oracle doksi: Performance Tuning (Ugyanez pdf-ben)

 

Nagy (több terabájtos) adatbázisok:

csillagászati

bioinformatikai

részecskefizikai

 

Az előadások anyaga:

  1. Tematika megbeszélése, Oracle adatbázisok felépítése: Abterv_ea1.ppt (14-dik fóliáig). További segédanyag: Abterv_ea1.doc (Nikovits Tibor anyagjai)
  2. Lekérdezések optimalizálásának feladata: algebrai opt.ppt (91-101 oldal)

Adattárolás: storage.ppt (1-40 oldal)

                        A fóliák magyarul Györök Péter hallgató fordításában: storage-hu.ppt (1-40 oldal)

Könyv: 2.1 fejezet: Memóriahierarchia  (47-55 oldal)

             2.2 fejezet: Lemezek (55-66 oldal)

 2.3 fejezet: Cilinderes szervezés, lemezhibák, a RAID fogalma (75-80, 95-104 oldal)

Az adatelemek ábrázolása, a költségszámítás paraméterei: fizika.ppt (1-3 oldal),

Könyv:  3.1-3.2, 3.3.1, 3.3.2 fejezetek: Adatelemek, rekordok, blokkok (111-129 oldal)

Az Oracle rendszer komponensei, példány, SGA, PGA, folyamatok, kapcsolódás a példányhoz: Oracle.ppt (1-38 oldal)

Az Oracle Enterprise Manager néhány lehetősége: memory.htm performance.htm sitemap.htm maintenance.htm

  1. Az adatbázis-rendszergazda feladatai: Less_01.ppt (1-10 oldal)

A fóliák magyarul Györök Péter hallgató fordításában: Less_01-hu.ppt

Az Oracle 10g telepítése: Less_02.ppt (1-26 oldal)

            A fóliák magyarul Györök Péter hallgató fordításában:: Less_02-hu.ppt

Az Oracle Enterprise Manager további lehetőségei: 

TableSpace.htm users.htm datafile.htm data.htm tables.htm cikk.htm indexing.htm key.htm

A fizikai fájlszervezés alapjai (folytatás), kupac, hash (lineáris, kiterjeszthető), rendezett állomány, elsődleges index: fizika.ppt (4-32 oldal),

Könyv: 4.1 fejezet: Ritka index (153-170 oldal), 4.4 Tördelőtáblázatok: (200-211 oldal)

       4.  Indexelések (másodlagos index, klaszterindex, B-fa, B+-fa, B*-fa): fizika.ppt (33-58 oldal), bináris fa: bináris.ppt (1-9 oldal)

                        Könyv: 4.2 fejezet Másodlagos indexek (171-178 oldal)

                                   4.3 fejezet B-fák (184-197 oldal)

            Sql lekérdezés átalakítása relációs algebrai kifejezéssé: algebrai opt.ppt (100-106 oldal)

                        Könyv: 7.1 fejezet: A lekérdezésfordító, elemzés (359-367 oldal)

            Oracle lekérdezéstervek megjelenítése (Explain plan): use_explain.ppt (8, 10-11, 23 oldal)

       5.  A relációs algebrai műveletek megvalósítása, egy és többmenetes algoritmusok. A műveleti költségek, outputméretek becslése: optimization.ppt  (1-46 oldal)

                                   A fóliák magyarul Györök Péter hallgató fordításában: optimization-hu.ppt (1-46 oldal)

Könyv: 7.4 fejezet: Műveletek költségének becslése (395-409 oldal)

Több tábla összekapcsolása, futószalagosítás, materializáció: L11QueryExecution.ppt (33-35 oldal)

            A fóliák magyarul Györök Péter hallgató fordításában: L11QueryExecution-hu.ppt

           Könyv: 7.6 fejezet: Összekapcsolások sorrendjének megválasztása (423-426 oldal)

                                   7.7.3 Futószalagosítás és materializáció (441-445 oldal)

            Relációs algebrai optimalizáció: algebrai opt.ppt (106-116 oldal)

                       Könyv: 7.2 fejezet: Algebrai szabályok lekérdezéstervek javítására (367-382 oldal)

        6. Példa relációs algebrai optimalizálásra: algebrai opt.ppt (117-126 oldal)

            Az Oracle szabályalapú optimalizálása: L11QueryExecution.ppt (39-41 oldal)

            Az Oracle költségalapú optimalizálása:  L11QueryExecution.ppt  (42-45 oldal)

            Az Oracle lekérdezésterveinek megjelenítése, értelmezése, Explain plan, tkprof, hintek, hierarchikus lekérdezések (connect by prior): use_explain.ppt (1-56 oldal)

                        A fóliák magyarul Molnár Dávid hallgató fordításában: use_explain_HUN.ppt (1-56 oldal)

            Az optimalizálásban fontos relációs algebrai művelet: a félig-összekapcsolás (semi-join) és alkalmazása osztott lekérdezésekre:

algebrai opt.ppt (36-41 oldal), QueryProcessingWithSemijoin.ppt (5-8 oldal)

            A fóliák magyarul Györök Péter hallgató fordításában: QueryProcessingWithSemijoin-hu.ppt

        7. Bitmap index: 9ituning.ppt (83-87 oldal)

                        A fóliák magyarul Györök Péter hallgató fordításában: 9ituning-hu.ppt

                        Könyv: 5.4 fejezet: Bittérképindexek (253-260 oldal)

            A Q(A,B) JOIN R(B,C) JOIN S(C,D) háromféle kiszámítási módja és költsége, (feltéve, hogy Q,R,S paraméterei megegyeznek, Q.B-re és S.C-re klaszterindexünk van).

a)      balról  jobbra, b) balról jobbra és a memóriában összekapcsolva a harmadik táblával, c) a középső ténytábla soraihoz kapcsolva a szélső dimenziótáblákat.

Kézirat: QjoinRjoinS.pdf  Magyarázatokkal ellátva: Tetel9_kidolgozott.pdf

            Összekapcsolások sorrendje, dinamikus programozás: 20.joinorder.ppt (8-16 oldal), 09_qp_opt.ppt (16-20 oldal), ch14.ppt (40-41 oldal)

                        Könyv: 7.6 fejezet (423-433 oldal)

Oracle összekapcsolások átírása hatékonyabb félig-összekapcsolással: semijoins.ppt (1-27 oldal)

         8. Rendszerhibák kezelése, konzisztens adatbázis, tranzakciók, hibafajták, semmisségi (undo) naplózás és helyreállítás, ellenőrzőpont, ellenőrzőpont működés közben:  naplo.ppt (1-72 oldal)

                        Könyv: 8.1, 8.2 fejezetek (454-476 oldal)

         9. Helyrehozó (Redo) maplózás, semmiségi/helyrehozó (Undo/Redo) naplózás, archiválás: naplo.ppt     (73-118 oldal)

                        Könyv: 8.3, 8.4, 8.5 fejezetek (477-496 oldal)

  10. Az Oracle naplózási/helyreállítási megoldásai: naplo.ppt (119-127 oldal), oracle_9-1.ppt (17-18 oldal)

              Konkurenciavezérlés, ütemezés, sorbarendezhetőség, konfliktus-sorbarendezhetőség, megelőzési gráf, fogalmak, állítások (bizonyítás nélkül), példák:

konkurencia.ppt (1-29 oldal, bizonyítások nélkül)

Könyv: 9.1, 9.2 fejezetek: Konkurenciavezérlés (498-511 oldal)

  Zárolási ütemező, kétfázisú zárolás, holtpont, várakozási gráf, fogalmak, állítások (bizonyítás nélkül), példák:

                        konkurencia.ppt (30-51 oldal, bizonyítások nélkül)

                        Könyv: 9.3 fejezet (513-519 oldal)

         11. Különböző zármódú zárolási rendszerek, osztott és kizárólagos zárak, kompatilibiltási mátrix, zárak felminősítése, módosítási zárak, növelési zárak:

konkurencia.ppt (52-74 oldal, bizonyítások nélkül)

                        Könyv:  9.4 fejezet (521-529 oldal)

               Zárolási ütemező felépítése

konkurencia.ppt (75-88 oldal, bizonyítások nélkül)

                        Könyv: 9.5 fejezet (532-537 oldal)

               Adatbáziselemekből álló hierarchiák kezelése

konkurencia.ppt (89-92 oldal, bizonyítások nélkül)

                        Könyv 9.6 fejezet (538-539 oldal)

          12. Hierarchikus adatok zárolása, figyelmeztető zárak: konkurencia.ppt (89-98 oldal)

                        Könyv: 9.6.2. (539-541 oldal)

                Nem ismételhető olvasás és fantom kezelése: konkurencia.ppt (107-111 oldal)

                        Könyv: 9.6.3. (542-543 oldal)

                Indexelt elérés, mászóka elv, faprotokoll: konkurencia.ppt (116-121 oldal)

                        Könyv: 9.7.1-2. (544-546 oldal)

                Időbélyegzés, túl késő írás/olvasás, piszkos adatok olvasása, Thomas-féle írás: konkurencia.ppt (131-142 oldal)

                        Könyv: 9.8. (550-554 oldal)

                Többváltozatú időbélyegzés: konkurencia.ppt (152. oldal)

Könyv: 9.8.5. (556-558 oldal)

    Érvényesítés: konkurencia.ppt (157-166 oldal)

                        Könyv: 9.9.1. (560-561 oldal)

    A 3 konkurenciavezérlés összehasonlítása: konkurencia.ppt (171-173 oldal)

    Az Oracle tranzakció-kezelési megoldásai: konkurencia.ppt (174-194 oldal)