Adattárházak kialakulása, építése és elemzése (Rövid áttekintés) Nagy István (editor@logana.com)
Az adatfeldolgozás forrásai Tranzakciós adatbázis (OLTP – On-Line Transaction Processing) Operatív adattár (ODS – Operational Data Store) Adattárház (OLAP – On-Line Analytical Processing)
Az értékelés szempontjai Az alkalmazás célja A feldolgozás jellegzetességei A tervezés módja, és eredménye A használhatóság a célok alapján (előnyök, hátrányok)
Az alkalmazások célja OLTP OLAP Tranzakciók lebonyolítása (adatbevitel, -módosítás, -törlés) Lekérdezés, listázás Korlátozott bonyolultságú elemzések elvégzése OLAP Bonyolult elemzések elvégzése (idősorozat-elemzés, extrapoláció) Összefüggések felismerése (korreláció-elemzés) Lekérdezés, listázás
Jellegzetességek OLTP OLAP A tranzakciók miatt anomáliák (adatbeviteli, módosítási, törlési) Csak az aktuális állapotot tükrözi A meglévő ismeretek, összefüggések (függőségek) alapján történik a tervezés OLAP Nincs tranzakció Tartalmazza az archivált adatokat (a változások időbélyeggel ellátva) Hatalmas adatmennyiség A tervezés alapja: az elemzés szükséges adatai hatékonyan elérhetők legyenek
A tervezés célja OLTP OLAP Hatékony nyilvántartás a tulajdonságok között már felismert összefüggések alapján OLAP Hatékony nyilvántartás a tulajdonságok közötti új összefüggések felismerése érdekében
A tervezés lépései (1) OLTP OLAP A nyilvántartás céljának megfogalmazása (a Stratégia) "Milyen feladatok megoldása érdekében hozzuk létre az adatbázist?” (Például ugyanazon dolgozók adatbázisának más lesz a szerkezete egy munkaügyi, vagy egy üzemorvosi nyilvántartás esetén) OLAP Az elemzési célok megfogalmazása (a Stratégia) "Milyen elemzések érdekében hozzuk létre az adatbázist?” (Például az egyes dolgozók, vagy részlegük munkájának hatékonyságát, a gyártott termékek jövedelmezőségét vizsgáljuk, vagy a vásárlási szokások alapján értékesítési stratégiát szeretnénk kidolgozni)
A tervezés lépései (2) OLTP OLAP A nyilvántartandó tulajdonságok kijelölése (az Attribútumok) "Milyen tulajdonságok nyilvántartására van szükségünk?” (Lásd az előző példát: dolgozók munkaügyi és orvosi nyilvántartása) OLAP A nyilvántartandó tulajdonságok és azok forrásának kijelölése (Attribútumok és Adatforrások) "Milyen tulajdonságok nyilvántartására van szükségünk és azokat honnan szerezzük be?” (A források lehetnek adatbázisok, Excel táblázatok, szöveges állományok)
A tervezés lépései (3) OLTP OLAP Függőségek feltérképezése (a tulajdonságok között már ismert kapcsolatok összegyűjtése) "Milyen összefüggéseket ismerünk a tárolandó tulajdonságok (attribútumok) között?” (Például a dolgozó neve és születési dátuma meghatározza a többi adatát) OLAP Az attribútumok szétválasztása tény- és dimenzióadatokra „Melyek az elemzéshez, és melyek az értelmezéshez szükséges adatok?” (Például az egyes dolgozóknál, vagy részlegeknél keletkezett bevétel és költség adatok az elemzéshez, a dolgozók, részleges nevei, a bevétel és költség adatok dimenziói az értelmezéshez szükségesek)
A tervezés lépései (4) OLTP OLAP Függőségek normalizálása 1NF: ne legyen összetett adat 2NF: ne legyen részkulcstól függés 3NF: ne legyen belső függés a másodlagos attribútumok között BCNF: ne legyen kulcstörés (az egyes kulcsattribútumok ne függjenek más attribútumoktól) OLAP Tárolási szerkezet létrehozása a tényadatok és a dimenzióadatok szerint Csillag-struktúra Az elemzési adatok (és azonosítók) egy központi, ún. ténytáblába kerülnek (ezen történnek az elemzések) Az értelmezési adatok a dimenziótáblákba kerülnek, melyek azonosítók segítségével kapcsolódnak a ténytáblához Hópehely-struktúra (kevéssé használt) Olyan csillag-struktúra, melynél a dimenziótáblák normalizáltak (többszintűek) Galaxis-struktúra Csillag-struktúra együttes, melynél ugyanazon dimenziótáblákat több ténytábla is használja
A tervezés eredményei OLTP OLAP A normalizás eredménye több tábla keletkezik, az egyes táblák között idegen kulcs kapcsolat van OLAP A struktúra-létrehozás eredménye több tábla keletkezik, a ténytábla és a kapcsolódó dimenzió-táblák között idegen kulcs kapcsolat van
Előnyök OLTP OLAP Általános célú Célorientált, de hatékony Általános tranzakciós (adatbeviteli, módosítási, törlési) és lekérdezési, listázási feladatok hatékony kezelése A tárolt adatokon tetszőleges elemzési feladat elvégzése OLAP Célorientált, de hatékony A kitűzött elemzési feladatok hatékony elvégzése nagy adatmennyiségen Az elemzési adatok hatékony megjelenítése, listázása
Hátrányok OLTP Az összetett elemzési feladatok nagy erőforrásigényűek Több adattábla, nézettábla összekapcsolása Összekapcsolási feltételek feldolgozása OLAP A hatalmas adatmennyiség miatt nagy erőforrásigény Csak a megtervezett elemzési feladatokra hatékony A tervezettől nagyon eltérő elemzések egyáltalán nem végezhetők el
Továbbfejlesztés elemzési célokra OLTP Operatív Adattár (ODS - Operational Data Structure) Egy vagy több OLTP adatbázist használ Az archivált adatokat is tartalmazza Egy különálló szerveren futtatják (elkülönítve a tranzakciós rendszerektől) Az SQL bővítése (1) Részletező csoportosítás Analitikus függvények bevezetése Az SQL bővítése (2) Az SQL Modellezés A párhuzamos hardware architektúra (több processzor, több mag) kihasználása OLAP Relációs Adattárház (ROLAP) Ez az eddigiekben bemutatott OLAP, melynek szerkezete relációs. Előnye, hogy az SQL eszközökkel használható Hátránya, hogy az elemzéshez szükséges adatkigyűjtések táblafeldolgozásból történnek. Multidimenziós Adattárház (MOLAP) Előfeldolgozott (kigyűjtött, csoportosított, ú.n. aggregált) adatokat tárol A tárolás n-dimenziós kockákban törénik, ahol a dimenziók a ROLAP-nál mondotthoz hasonlóak. (például EladásSzám<Termék, Vásárló, Idő>)) Előnye: Igen hatékonyan elemezhető Hátránya: Még hatalmasabb és redundáns tárhely (nyilván nem vásárol minden terméket, minden vásárló, minden nap)
További információk A tantárgy web-helye: www.orakulum.com (Itt az Adatbázis-kezelés tantárgycsoportban az OLAP címszó alatt) Magyar nyelvű irodalom: Ensor, D., Stevenson, I.: Oracle-tervezés. Kossuth kiadó, 2000. Kende Mária, Kotsis Domokos, Nagy István: Adatbázis-kezelés az Oracle rendszerben. Panem, 2002. Adriaans, P., Zantinge, D.: Adatbányászat. (Információ Technológia) Panem, 2002. Han, J., Kamber, M.: Adatbányászat. Koncepciók és technikák. Panem, 2004. Abonyi János (szerk.): Adatbányászat a hatékonyság eszköze. ComputerBooks, 2006. Loney K.: Oracle Database 10g Teljes referencia. Panem, 2006.