Memória-adatbázis motor fejlesztése és optimalizációja felügyelt környezetben

OData támogatás
Konzulens:
Albert István
Automatizálási és Alkalmazott Informatikai Tanszék

A napjainkban elterjedt nagy adatbáziskezelő-rendszerek, mint a Microsoft SQL Server, Oracle Database vagy a MySQL Server elsődlegesen mind a merevlemezen tárolják az adatokat, amiket több évtizede folyamatosan fejlődő tárkezelő és cache-elő eljárások lévén igen hatékonyan tudnak elérni és módosítani.

A merevlemez ennek ellenére még mindig egy teljesítménybeli korlátot jelent a memóriához viszonyítva. Egy memóriaolvasás nagyságrendileg ötvenszer gyorsabb egy merevlemezes olvasáshoz képest. Emiatt jogosan gondolhatjuk azt, hogy egy tisztán memóriabeli adatbázismotor képes lehet jobb teljesítményt nyújtani a szokványos rendszerekhez képest. A tanszéken már három éve folyik a fejlesztése a MMDB-nek, mely egy ilyen elven működő, .NET környezetben fejlesztett, tisztán memóriabeli adatbázismotor.

Az MMDB-ben a lekérdezések végrehajtását egyetlen logikai felolgozó egység végzi, holott ez egy igen jól párhuzamosítható feladatot jelent. Ebben a dokumentumban megvizsgálom, hogyan lehet párhuzamosítással gyorsítani a lekérdezések végrehajtását az MMDB-ben.

Párhuzamos végrehajtás implementálásához a .NET Framework 4-ben megjelent Task Parallel Library-re épülő PLINQ könyvtárat használtam. A dolgozatban általánosságban ismertetem ezen könyvtárakat.

Ezután részletesen bemutatom az általam megalkotott eljárást, mellyel elértem, hogy az MMDB a PLINQ segítségével tetszőleges számú logikai egységet igénybe vegyen a rendelkezésre álló feldolgozó egységek közül.

Végül mérési eredményekkel igazolom, hogy az új módszert alkalmazva jelentősen csökken az egyes lekérdezések végrehajtási ideje.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.