Modell-lekérdezések teljesítményvizsgálata

Elterjedt gyakorlat a nagy adathalmazokkal szemben lekérdezéseket megfogalmazni és kiértékelni. Ezen lekérdezések megfogalmazására deklaratív nyelvek szolgálnak, a hatékony kiértékelésüket pedig - akár a felhasználó által nem ismert módon - a szolgáltatást nyújtó motor végzi. Nagy mennyiségű adat és bonyolult lekérdezések esetén teljesítmény szempontjából kritikus jelentőségű, hogy a kiértékelőmotor milyen eljárással állítja elő a deklaratív lekérdezés végeredményét. Általában a lekérdezés alapján egy előfeldolgozási lépésben keresési terv kerül meghatározásra a teljesítményszempontokat figyelembe véve.

Napjainkban a szoftverfejlesztés terén egyre nagyobb szerepet kap a modellvezérelt tervezés. Ennek során a fejlesztőeszközökben az elkészítendő rendszer egy modelljét lehet elkészíteni, ill. automatizáltan feldolgozni. A modellvezérelt fejlesztést támogató eszközök egyik fontos megvalósítási kérdése a modellek tartalmának automatizált feldolgozása, a modellek feletti lekérdezések kiértékelése. A modellvezérelt eszközökön túl bármely objektumorientált adatmodellre építő szoftvereszköz fejlesztését nagymértékben támogathatják a deklaratív modell-lekérdezések. A modellvezérelt paradigma elterjedésének ugyanakkor gátat szabhatnak a lekérdezés teljesítményproblémái.

A tanszéken fejlesztett Viatra Query eszköz az iparban is elterjedt Eclipse Modeling Framework (EMF) modellei felett támogat deklaratívan (az ún. gráfminták nyelvén) megfogalmazott lekérdezéseket. Különlegessége, hogy a lekérdezések eredménye állandóan rendelkezésre áll, a modell módosítása közben folyamatosan frissül, különösen alkalmassá téve bizonyos célfeladatokra (pl. modellek jólformáltságának folyamatos ellenőrzése). A hallgató feladata az Viatra Query kiértékelőmotorjának megismerése, a különböző eljárással előállított keresési tervek teljesítményközpontú összehasonlítása, keresési tervek kidolgozása.

Jelleg: 
Elméleti és gyakorlati
Advisor: 
Gábor Bergmann
TDK lehetőség: 
TDK lehetőség
Megismerhető technológiák: 
Eclipse, EMF, EMF-IncQuery
Előismeretek: 
Java programozás, adatbázisok elmélete (relációalgebra)
Állapot: 
Folyamatban