Adatbázisok elmélete

A tantárgy angol neve: Theory of Databases 

Adatlap utolsó módosítása: 2023. április 18.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
MSc, Mérnökinformatikus, Közös szakmai tárgy
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VITMMA17   3/0/0/f 5  
3. A tantárgyfelelős személy és tanszék Dr. Gajdos Sándor,
4. A tantárgy előadója Dr. Gajdos Sándor
Dr. Erős Levente
Marton József
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
Kötelező:
NEM
(TárgyEredmény( "BMEVITMMA13", "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVITMMA13", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

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 már 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 Az előadások 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 létjogosultsága, 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 2 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, Metrikák és benchmarkok, Adatstruktúrák és adatok, Benchmarkok felállításának szabályai, ill. szabadságfokai, 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.

A gyakorlatok részletes tematikája:-

 

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 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 3., 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.

Vizsgaidőszakban: -

11. Pótlási lehetőségek 1 db. pózá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, 2021.
[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 18c, 2018.
https://docs.oracle.com/en/database/oracle/oracle-database/18/cncpt/index.html
[4] Oracle Exadata white paper, 2012:
http://www.oracle.com/technetwork/database/exadata/exadata-technical-whitepaper-134575.pdf
[5] Oracle Data Warehousing Guide 18c, 2018.
https://docs.oracle.com/en/database/oracle/oracle-database/18/dwhsg/index.html
[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 óra42
Félévközi készülés órákra18
Felkészülés zárthelyire16
Házi feladat elkészítése54
Kijelölt írásos tananyag elsajátítása 
Vizsgafelkészülés20
Összesen150
15. A tantárgy tematikáját kidolgozta Dr. Gajdos Sándor, t. docens, BME TMIT