Magamról

Saját fotó
Főiskolai, majd egyetemi diplomamunkáimtól kezdve világ életemben, adatok, adatbázisok, adattárházak (leginkább Oracle) környékén mozogtam. Mostanság adattárházasként, adatbányászként élem napjaimat.

2010. szeptember 22., szerda

Ingres VectorWise a RapidMiner előszobájában

.
A társblogon Prekopcsák Zoltán írása alaposan felcsigázta személyemet egyik konkrét információjával.

A jövő évre várható még a RapidMiner alapszoftver 6-os verziója...Az Ingres céggel szövetkezve pedig szorosan mellé integrálják az Ingres VectorWise adatbázis-kezelőt

Az idő szoritásában ugyan, de nem álltam meg, hogy egy picit ne nézzek utána a témának szakmai kiváncsiságomnak, meg régi rdbms-es énem emlékeinek engedve.

Az Ingres egy nagyon jól hangzó márkanév (volt) az adatbázisos világban, amit elsősorban élenjáró nagyszerű innovációjának köszönhetett. A nagy Oracle is csomó dolgot vett át tőlük (hash, ami nagy tábláknál hatékonyabb elérést ad az indexekkel szemben, vagy a CBO/=Cost-Based Optimizing/ az RBO-val/=Rule-Based Optimizing/ szemben). Ezek ma már alapvetőknek számítanak az iparban. Az rdbms-piac sajátosságai (pl.: óriási tehetetlenségi erők) következtében a 90-es évek végére az Informix, aztán meg az Oracle mindkettőt lenyomta a piacon. De ez mit sem von le az Ingres szakmai értékeiből. Aki Ingres-essel találkoztam az mind élvezettel dolgozott vele és beszélt róla.

A társblogos poszt nyomán egyből felcsillant a szemem, hogy akkor egy (open source) adatbányász tool kap egy open source rdbms-t maga alá. Hogy az milyen frankó lesz, mert előfeldolgozás címén (amiben a Rapid Miner, hogy is mondjam finoman -> küzd még kihivásokkal), komplett flexibilis szabványos rdbms-es, szabványos sql-motoros - házon belüli - megoldást kap, gyakorlatilag mondhatni minden igényt kielégítve. Na ez a megközelítésem a felhasználói funkcionalitásos megközelítés. És ahogy jobban utánanéztem a témának, be kellett lássam némileg tévedtem várakozásaimban.

Ugyanis ez az Ingres VectroWise egy performanciára végsőkig kihegyezett analitikus platformos célszerszám, teljesen zöldmezős alapokról felépítve, felpörgetett korunk követelményeit és trendjeit/lehetőségeit figyelembevéve.  Beáldoznak vagy még nem implementáltak sql-világban megszokott dolgokat - némi deja vu a régi select alkérdés nélküli MySql v4 elötti világra -, részint fordítási hibákat részint lassabb futási időket implikálva. Cserébe, ami működik az viszont - ígéret szerint - nagyon, kvázi csodával határos módon - hatékonyan működik. Funkcionalitás kontra performancia. Az Ingres VectorWise a performanciát tűzte ki a zászlajára.

Nézzük, hogyan milyen építőkockákkal akarja ezt a hatékonyságnövelést elérni az Ingres VectorWise:

* Ilyen építőkocka a modern CPU-k azon tulajdonságának kihasználása, hogy vektorokat már jobban kezel mint különálló elemi adatokat. Egyáltalán is megjegyezhető, hogy nagytömegű adatelérésben a háttértár adatblokkjainak elérése a leggyengébb láncszem analitikus adatelérésnél: vagy a leglassabb, vagy a legdrágább (EMC-típusú winchester-szekrényekre gondoljunk elsősorban, amit aranyárban mérnek). A processzorok viszont önmagukban is gyorsak, és darabszám alapján skálázhatók felfelé. Tehát adott az ötlet toljunk át minél több feladatot most így mondom a winchesterekről a processzorok felé.

* Ilyen építőkocka az oszlopalapú tárolás az eléréshatékonyság érdekében. Itt ugye arról van szó, hogy egy 1-5-ig kategóriákat tároló oszlop tárolása egészen másképp néz ki, mint egy változó hosszúságú karakterfűzér tárolása. Analitikus adatelérésnél meg nem egy rekord összes adatára vagyunk kiváncsiak egymás után, hanem a rekordok egy attribútumát szeretnénk egybe látni, aztán a következő attribútumát.

* Ilyen építkocka a radikális adattömörítés lehetősége, köszönhetően például éppen az oszlopalapú tárolásnak is. Hatékony tömörítésnél kevesebb adatblokkot kell felolvasni adatelérésnél a háttértárból némi plusz processzor erőforrás beáldozása árán: de hiszen éppen ez volt az eredeti szándék is.

Ilyenkor kézenfekvő az asszociálás a Netflix-verseny adatbázisára. Ott ugye 1-5-ig voltak ratingek százmilliónyian. Ha jól tévedek kicsomagolva ostromolta a 2GB-ot, amit tömörítve lehetett leszedni a Netflix-verseny honlapjáról, talán 100MB-os nagyságrendben.

Na most egy ilyen Ingres VectorWise típusú szerkezet azt ígérheti hosszú távon, hogy kvázi ki sem kell csomagolni - csak kvázi kovertálni - a letöltött Netflix tömörített adatállományt. A konverzió (adatbázisba töltés) nem úszható meg ugyan, viszont méretben azért összemérhető tömörítvényen is lehet kvázi rdbms-operációkat és analitikus adatelérést kezdeményezni. És persze aztán meg adatbányászkodni rajta.

* Ilyen építkocka a speciális indexépítési és -elérési módok. Például tömörített adatblokkra minimális és maximális érték. Hogy fel se kelljen olvasni szükségtelen blokkokat. Stb.

Két érdekesség:
(1) Egyelőre csak Linuxon érhető el az Ingres VectorWise, de ígéret szerint hamarosan jön - a ráadásul 64-bites - Windows verzió.
(2) Nem ennél az Ingres-cuccnál hanem a rendes Ingresnél láttam, hogy illesztik az Oracle világban fogalomnak számító TOAD-ot. Na attól dobtam egy hátast. :o)

PS: Tudom hogy helyenként sok kvázit írtam, de lássuk be egy csökkentett funkcionalitású sql nem teljes sql, egy adatbázisba töltés sem szimpla konverzió,még ha menedzseri szemlélet keretében el is lehet sütni.

Nincsenek megjegyzések:

Megjegyzés küldése