Adatbázisok elmélete

A tantárgy angol neve: Database Theory

Adatlap utolsó módosítása: 2017. november 10.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Mérnök Informatikus Szak

MSc elágazó közös tárgy

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VITMMA13   3/0/0/f 4  
3. A tantárgyfelelős személy és tanszék Dr. Gajdos Sándor,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Dr. Gajdos Sándor

t. docens

BME-TMIT

Dr. Erős Levente

adjunktus

BME-TMIT

Marton József

ügyvivő szakértő

BME-TMIT


5. A tantárgy az alábbi témakörök ismeretére épít

Adatbázis-kezelő rendszerek felépítésével kapcsolatos alapismeretek, Adatok modellezése ER diagramokkal, Relációs adatmodell, Relációs sématervezés ER diagramból, SQL nyelv, Funkcionális függőségek, Normál formák, Fizikai adatszervezés alapvető módszerei (heap, hash, ritka index, sűrű index, többszintű indexek),  Relációs lekérdezések optimalizálása, Tranzakciókezelés adatbázis-kezelő rendszerekben. Továbbá általános tájékozottság programozási nyelvekről, adatszerkezetekkel, algoritmusokkal kapcsolatos alapismeretek.

6. Előtanulmányi rend
Ajánlott:

A tantárgy felépítése és oktatásának módja feltételezi az 5. pont alatti témakörök ismeretét(amelyek elsajátíthatók pl. a VITMAB04 vagy a VITMAB00 vagy a VITMA311 kódú Adatbázisok teljesítésével). Ezért csak azok vegyék fel ezt a tárgyat, akik a félév kezdetén az 5. pont alatti ismeretekkel rendelkeznek.

7. A tantárgy célkitűzése

(K1) Bemutatni, hogy az adatbáziskezelő-rendszerek hardver és szoftver komponenseit hogyan és miért érdemes többszörözni, hogyan épülnek fel az ilyen rendszerek, mire és milyen formában lehet ezeket használni.

(K3) Képessé tenni olyan relációs adatstruktúrák szintézisére, amelyek alkalmasak OLTP környezetben nagy hatékonyságú információs rendszerek funkcionalitásának megalapozására.

(K3) Képessé tenni olyan adatstruktúrák szintézisére, amelyek alkalmasak analitikus  környezetben információs rendszerek funkcionalitásának megalapozására.

(K1) Áttekintést adni a „big data” korszak jellegzetes adatbázis-kezelési megoldásairól, elősegítve ezzel adott feladathoz legjobban illeszkedő technológia kiválasztását.

(K2) Megismertetni módszerekkel, amelyek alkalmasak arra, hogy egy adatbázis-alapú információs rendszer teljesítményét növelni lehessen.

(K1) Esettanulmányok, megvalósítási példák segítségével megmutatni, hogy a megismert technológiák hogyan jelennek meg a legkorszerűbb információfeldolgozó rendszerekben.

8. A tantárgy részletes tematikája

Adatbázis architektúrák és a párhuzamos működés 2 hét

Centralizált vs. kliens-szerver rendszerek, Párhuzamos rendszerek, IO párhuzamosítása, Inter- és intraquery párhuzamosítás, Particionálás lehetőségei, Relációs műveletek párhuzamos végrehajtása: párhuzamos keresési, rendezési, illesztési algoritmusok, Lekérdezés optimalizálás párhuzamos végrehajtás estén, SMP és MPP architektúrák, Párhuzamos működésű adatbáziskezelők tervezési kérdései, Megvalósítási példa: Oracle Exadata, Adatbáziskezelés a felhőben.

Elosztott adatbáziskezelés 2 hét

Elosztott adatbázisok típusai, Hatékonysági megfontolások, Zárkezelési protokollok, Elosztott sorosíthatóság, Lavinamentesség biztosítása, Elosztott megegyezés: 2PC-3PC, Elosztott időbélyeges tranzakciókezelés, Csúcsok helyreállítása rendszerhibák után, Elosztott pattok kezelése.

Extrém nagy adatmennyiségek kezelése 2 hét

A NoSQL forradalom, Google-Amazon technológiák, Skálázási kérdések, Skálázhatóság vs. erőforrások megosztása, Konzisztencia fogalmának kiterjesztése, Rendelkezésreállás, Hibatűrés, CAP tétel, NoSQL adatbáziskezelők típusai: kulcs-érték tárak, oszlopcsaládok, gráfadatbázisok, dokumentumtárak, A fontosabb megvalósítások: MongoDB, Hadoop, Cassandra.

Adatstruktúrák tervezése ismert alkalmazásprofilhoz

a)      Relációs struktúrák tervezése OLTP rendszerekhez (2 hét)

Adatbázis kényszerek szerepe, Sématervezés dekompozícióval, Funkcionális függések tulajdonságai, Helyesség és teljesség, Armstrong axiómái, Függéshalmaz tranzitív lezártja, Attribútumhalmaz tranzitív lezártja, Minimális függéshalmaz, Veszteségmentes sémafelbontás, Függőségőrző sémafelbontás, Sématervezés adott normálformába veszteségmentes és függőségőrző sémadekompozícióval.

b)     Relációs struktúrák tervezése analitikus célokra (2 hét)

Analitikus rendszerek tervezésének sajátosságai, Dimenziós modellezés, Tények és dimenziók, Egyed-kapcsolat vs. dimenziós modellezés, Adattárház busz, Dimenziós modellek készítése, Lassan változó dimenziók esete, Fizikai adatmodell tervezése.

Memóriaalapú adatbáziskezelés 1 hét

Diszk-rezidens és memória-rezidens (IMDB) adatbáziskezelés, motivációk/trendek-előnyök/hátrányok, Megvalósítási kihívások: optimalizált adatszerkezetek, perzisztencia biztosítása, naplózás, tranzakciókezelés, Speciális indexstruktúrák IMDB-kben: B*-fa, AVL-fa, T-fa hatékonysága, Lekérdezések végrehajtása és költsége, Megvalósítási példa: Oracle TimesTen

Analitikus célú információs rendszerek tervezése és megvalósítása 1 hét

Stratégiai adatorientált döntéstámogató rendszerek alapelvei, Építőelemek, OLAP: Drill down, roll up, slice and dice; Analitikus rendszerek implementációs technológiái, Implementációs módszertanok, ETL folyamat, Adatminőség és adattisztítás szerepe, Valósidejűség értelmezései, Technológiai megoldások a valósidejűség megvalósítására, CTF (Capture-Transform-Flow).

Adatbáziskezelők teljesítménymérése és hangolása 1 hét

A teljesítménymérés céljai és kihívásai, Benchmarkok felállításának szabályai, ill. szabadságfokai, Adatstruktúrák és adatok, TPC-C, TPC-E, TPC-H, A hangolás szintjei, eszközei, Bevált módszerek a teljesítmény javítására. Esettanulmány.

Szemantikus adatkezelés 1 hét

A szemistrukturált adatok sajátosságai, hatékony kezelésük lehetőségei adatbázisokban, Szemantikus elemek tárolása XML adatformátumban, XML séma, Adatreprezentáció RDF formában, Az RDF lehetőségei és korlátai, RDF sémaleíró nyelvek, Ontológia fogalma, Kapcsolat a szemantikus webbel, Szemistrukturált adatok tárolása, szemistrukturált adatbázisok.

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

3 óra előadás/hét

10. Követelmények

a.       A szorgalmi időszakban: 1 db zárthelyi és egy nagyfeladat. A nagyfeladat témája: specifikus adatstruktúrák tervezése tranzakcióorientált, ill. analitikus környezet követelményeire optimalizálva. Feladatkiadás a 4., beadás a 12. héten, közben konzultációs lehetőséggel.  A követelmények teljesítését egy szóbeli védésen is bizonyítani kell. A félév végi jegy számítása: 30%ZH+30%NF+40% védés, de mindegyiknek legalább elégségesnek kell lennie. 

b.       A vizsgaidőszakban: nincs

11. Pótlási lehetőségek

1 db. pótzárthelyi a szorgalmi időszakban. Az NF beadása legkésőbb a 13. heti pótbeadási határidőig teljesíthető.

12. Konzultációs lehetőségek

Igény szerint előzetesen egyeztetett időpontokban.

13. Jegyzet, tankönyv, felhasználható irodalom

[1]   Gajdos: Adatbázisok, 2017.

[2]   Silberschatz, H. F. Korth, S. Sudarshan: Database System Concepts, 6th Edition, 2010. WCB/McGraw-Hill, ISBN 0-07-295886-3

[3]   Oracle Database Concepts 12c, 2014.
 http://docs.oracle.com/database/121/CNCPT/E41396-10.pdf

[4]   Oracle Exadata white paper, 2012:
 http://www.oracle.com/technetwork/database/exadata/exadata-technical-whitepaper-134575.pdf

[5]   Oracle Data Warehousing Guide 11g, 2007.
 http://docs.oracle.com/cd/B28359_01/server.111/b28313.pdf

[6]   www.tpc.org

[7]   Web-en elérhető oldalak elsősorban a NoSQL körbe tartozó témák esetén

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra 42
Félévközi készülés órákra 20
Felkészülés zárthelyire 16
Házi feladat elkészítése 42
Kijelölt írásos tananyag elsajátítása 
Vizsgafelkészülés
Összesen120
15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Dr. Gajdos Sándor

t. docens

BME-TMIT