Összesítőtáblák generálása és optimalizálása ad-hoc adatpiaci lekérdezésekhez Oracle 11g környezetben

OData támogatás
Konzulens:
Dr. Martinek Péter
Elektronikai Technológia Tanszék

A korszerű adattárházak rendkívül nagy mennyiségű (tipikusan több terabyte-nyi) adatot tárolnak, igen nagyszámú, bonyolult objektum formájában. A lekérdezési idők minimalizálása érdekében az adattárházakban tárolt adatokat az üzleti felhasználók számára általában speciális, lekérdezésekre optimalizált, csillag vagy hópihe szerkezetű adatpiaci rétegen keresztül teszik hozzáférhetővé.

Az óriási adatmennyiség, a tipikusnak mondható, nagyobb (pl. havi, régiónkénti, termékkategóriánkénti) adatcsoportokra vonatkozó aggregált lekérdezések és a végfelhasználók által elvárt, általában legfeljebb néhány perces lekérdezési idők miatt az adattárházak építésének egyik legnehezebb része az adatpiacok optimalizálása.

Az optimalizálás igen hatékony, ugyanakkor bonyolult és ellentmondásos módja az összesítőtáblák alkalmazása. Az összesítőtáblák gyakran előforduló aggregált lekérdezések (pl. napi jelentések) eredményeit tárolják, és tartalmukat rendszeresen (pl. naponta) frissítik. A fejlett adatbáziskezelő rendszerekben az SQL motor képes az alaptáblákra hivatkozó lekérdezéseket automatikusan összesítő táblák fölötti lekérdezésekké átírni. Mivel az összesítőtáblák mérete általában több nagyságrenddel kisebb az alaptáblákénál, illetve nem csak aggregátumok, hanem komplex összekapcsolások eredményeit is tartalmazhatják, a lekérdezésátírás drámai sebességnövekedést eredményezhet.

A hatékonyságnövekedésért azonban komoly árat kell fizetni, főként ad-hoc lekérdezéseket megengedő adatpiaci rendszerekben, ahol a lekérdezések tervezés időben nem láthatók pontosan előre. A legfőbb problémát ilyenkor az egyszerű módszerekkel előállítható összesítőtáblák nagy száma, nagy összmérete és karbantartásuk rendkívüli erőforrásigénye okozza.

Ebben a dolgozatban bemutatom az összesítőtáblákkal és lekérdezésátírással kapcsolatos általános alapfogalmakat és alapvető technikákat, elemezve a módszer előnyeit és buktatóit.

A rendelkezésre álló dokumentáció alapján áttekintem az Oracle 11g adatbázis szerver által összesítőtáblák kezelésére kínált eszközöket és módszereket. Megvizsgálom ezen eszközök előnyeit és korlátait.

Munkám során olyan optimalizálási technikákat tanulmányozok és dolgozok ki, amelyekkel adott lekérdezéshalmazra alkalmazható összesítőtáblák száma és mérete minimalizálható a várható végrehajtási sebesség maximalizálása és az összesítőtáblák karbantartási időinek minimalizálása mellett. Az elkészült megoldásomat tesztelem egy adott lekérdezéshalmazra, az eredményemet összevetetem az Oracle vizsgált eszközének az eredményével.

Letölthető fájlok

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