“ETL Tools: Extraction, Transformation and Load, vagyis olyan eszközök, melyek az adatok kinyerését, transzformációját és adattárházba töltését támogatják. Ez a csoport jelenti az összekötő kapcsot a tranzakciós rendszerek és az adattárház között.
Az adatbetöltés folyamata a következő részfeladatokra bontható le:

  • Adatkinyerés az operatív rendszerekből (extraction)
  • Adattranszformáció (különböző adatformátumok, mértékegységek, nyelvek stb.)
  • Adatminőség ellenőrzése, adattisztítás (cleaning)
  • Adatbetöltés az adattárház struktúráiba (loading)

Az adattárház adatai az operatív adatokból származnak, az operatív adatok változásainak propagálódniuk kell az adattárház részletezett és aggregált adatain át a felhasználó által látható beszámolókig. Nem feltétlenül igaz viszont, hogy az operatív adatok változásait ezek azonnal követik. Fontos az adatfeltöltés periodicitásának és időpontjának gondos megválasztása. A túl gyakori adatfrissítés az operatív rendszerek fölöslegesen nagy terheléséhez vezethet, a túl ritka frissítésnek pedig az elemzett adatok naprakészsége láthatja kárát. Szétválaszthatjuk az adatainkat eszerint pl. óránkénti, naponkénti, hetenkénti és havonkénti adatfrissítést igénylő adatokra, és ezeknek megfelelően időzíthetjük az adattöltést az operatív rendszerek számára leginkább megfelelő időpontokra. Gyakran ezek az időpontok, időintervallumok éjszakai órák, hétvégék, ekkor legkisebb ugyanis az OLTP rendszerek terhelése. Fontos odafigyelni arra, hogy adott adattárház tárgyterületek adattöltése nagy adatmozgásokat igényelhet, az OLTP rendszerek hagyományos felhasználásával szemben több ezer, millió rekord egyidejű lekérdezésével jár, melyek semmiképp nem veszélyeztethetik a vállalat mindennapi működését.
Adattöltések megoldásai közt két alapvető csoportot különböztethetünk meg, attól függően, hogy hová csoportosítjuk az adatgyűjtést végző, szabályozó mechanizmusokat.

“Push” adattöltés: Az operatív rendszerünket felkészítjük arra, hogy az adattárház számára adatokat gyűjtsön, adatokat továbbítson. Ebben az esetben lentről-felfelé az operatív rendszer kezdeményezi az adatok továbbítását az adattárházba.
“Pull” adattöltés: Az adattárház a megfelelően beállított időintervallumban az operatív rendszerekhez intézett lekérdezésekkel frissíti az adatait.

Két újabb kategóriát jelenthet az adattöltések megkülönböztetése a változások követésének szemszögéből. Eszerint, ha az operatív rendszerben új vagy megváltozott adatokra vonatkozóan csak a változás valamilyen leírását továbbítjuk, delta-töltésről (a változásra utalva), ha az operatív rendszer adatait egy az egyben továbbítjuk, teljes-töltésről beszélhetünk.”

“Az adattárház-rendszer működtetéséhez, az információfeldolgozás automatizálásához és adminisztrációjához sok eszközre, komponensre van szükségünk. Ezek az eszközök a data warehousing folyamatának egy-egy kisebb-nagyobb részfolyamatára nyújtanak megoldást, kézenfekvő tehát őket a megoldott részfeladatok alapján csoportokba sorolni. Az ábrán szerepelnek az adattárház alapvető komponensei.”
Forrás: Sidló Csaba István

  • CUBE

A csoportosító sorokon kívül még minden megadott csoport és alcsoport szerinti összegző sort ad az eredményhez. A csoportosító tulajdonság NULL értékként szerepel az eredménysorban. Az így kapott ún. kocka dimenziója attól függ, hogy hány csoportosító operandust használunk.

SELECT EmployeeID AS Alkalmazott, ShipVia AS Szállító, SUM(Freight) [Szállítmány Összes]
FROM Orders
WHERE EmployeeID < 3
GROUP BY EmployeeID, ShipVia WITH CUBE

  • ROLLUP

Hasonló összesítésre használható, mint a CUBE, azzal a különbséggel, hogy nem készül el az összes lehetséges összegző sor, hanem csak a hierarchia szerint alacsony szinttől növekedve a csúcsig a csoportosító feltételek megadott sorrendje szerint.

SELECT EmployeeID AS Alkalmazott, ShipVia AS Szállító, SUM(Freight) [Szállítmány Összes]
FROM Orders
WHERE EmployeeID < 3
GROUP BY EmployeeID, ShipVia WITH ROLLUP

Fontos tudnivaló! DISTINCT kulcsszó nem használható együtt a CUBE és ROLLUP paraméterekkel. Együttes használatuk esetén hibaüzenetet kapunk.
Zavaró lehet, ha a lekérdezett adatok között NULL érték található, hiszen a csoportosító sorokat is NULL-ként kapjuk vissza. A megkülönböztetésre használjuk a GROUPING függvényt, amelynek paramétere az adott oszlop, és visszaadott értéke 1, ha az adott sort a CUBE vagy ROLLUP funkció adta az eredményhez, és 0, ha NULL érték van az eredményben.

SELECT CASE WHEN (GROUPING(TitleOfCourtesy) = 1) THEN ‘ALL’ ELSE ISNULL(TitleOfCourtesy, ‘UNKNOWN’)
END AS TitleOfCourtesy,
CASE WHEN (GROUPING(City) = 1) THEN ‘ALL’
ELSE ISNULL(City, ‘UNKNOWN’) END AS City,
COUNT(*)
FROM Employees
GROUP BY TitleOfCourtesy, City WITH CUBE

Forrás: http://www.softwareonline.hu/Article/View.aspx?id=3705

“.. egy SQL Serverre épülő megoldás adattárházakhoz. A vállalat a szoftvert közvetlenül nem dobja piacra, szervergyártók vásárolhatják meg és saját gépeikre telepítve komplett megoldásként kínálhatják az ügyfeleknek. A PDW mögé felsorakoztak a legnagyobb hardvercégek, beleértve a HP-t, a az IBM-et, és a Bullt.

A legújabb trendeknek megfelelően tehát a PDW is egy tömeghardverekre épülő, szervereket, tárolókat, hálózati eszközöket és szoftvereket előre integráló, a gyártó által összeállított és tesztelt rendszer, amelyet csak le kell szállítani és üzembe helyezni az ügyfélnél. Hasonló elgondolás mentén épül fel az Oracle Exadata és a piac egyik újonca, az EMC Data Computing Appliance is. Utóbbival közös vonása a PDW-nek, hogy a technológiai alapokhoz felvásárlás révén jutott a Microsoft, mégpedig a DatAllegro bekebelezésével.

Az Ultra Shared Nothing architektúrát még Linuxra és Ingres adatbázisra fejlesztette ki a DATAllegro, amelyet 2008-ban felvásárolt a Microsoft, ezt követően tértek át SQL Server használatára. A SQL Server 2008 R2 Parallel Data Warehouse MPP (massively parallel processing) architektúrára épül, a tervezők szerint ez a megközelítés sokkal inkább alkalmas adattárházak futtatására mint az SMP (symmetric multi-processing), amelyen az OLTP feladatok érzik jól magukat. Míg az online tranzakciókezelés jellemzően “scale-up” probléma, az adattárház inkább “scale-out”.

A Microsoft SQL Server 2008 R2 Parallel Data Warehouse kettő vagy több rackben foglal helyet,   az egyik rackben van az irányító intelligencia, itt történik az adatok betöltése, a lekérdezések kezelése, a node-ok felügyelete, valamint az adatok mentése. A másik rackben vannak azok a szerverek és tárolók, amelyek az adatokat tartalmazzák és amelyek a lekérdezéseket ténylegesen végrehajtják. A lekérdezéseket végrehajtó szerverek és a tárolószerverek egyaránt SQL Server 2008 R2-t futtató kétutas, négymagos x86-os kiszolgálók. A compute node-okat Infiniband kapcsolja össze, a tárolók FC hálózatra csatlakoznak. Minden compute node-hoz egy tároló node tartozik. A Microsoft állítása szerint akár petabájtos méretig is skálázható a Parallel Data Warehouse, ehhez a felhasznált szerverek típusától függően elég sok rackre is szükség lehet.

A compute és storage node-okon kívül a rendszerben van még backup node, ez az adatok mentéséért és visszaállításáért felel, a “landing zone” tárolja a betöltésre szánt adatokat és a lekérdezések eredményeit, emellett van még legalább egy menedzsment-node, amely a rendszer tartományvezérlője, ezen keresztül történik a patchek telepítése, illetve ez tárolja az összes csomópont lemezképét (image), hogy például meghibásodást követő hardvercsere esetén valamelyik csomópontot újra kell telepíteni. A Parallel Data Warehouse lényege az irányító intelligencia, az MPP működést felügyelő szoftver, ez gondoskodik a lekérdezések optimalizálásáról, a végrehajtás ellenőrzéséről, a metaadatok és a sémák kezeléséről, valamint természetesen az adatok elosztásáról, particionálásról és replikálásról a csomópontok között annak érdekében, hogy az adattárház a lehető legnagyobb teljesítménnyel tudjon működni.

A SQL Server 2008 R2 Parallel Data Warehouse elérhetőségét hivatalosan tegnapelőtt jelentette be a Microsoft, de a hardvergyártók által kínált, előre integrált rendszerek valószínűleg csak hetek múlva lesznek elérhetők. Elsőként a HP szállítja majd HP Enterprise Data Warehouse Appliancerendszerét, amelynek ára két rackes konfiguráció esetén 900 ezer dollár, azonban ez még nem tartalmazza a szoftverlicenceket és a támogatást. Piaci elemzők szerint a PDW-alapú adattárházak végül a konkurensekhez hasonló áron érkeznek, miközben képességek terén érezhető lemaradásban vannak például analitika vagy az in-memory végrehajtás terén – a Microsoft fegyvere a a versenytársakkal szemben a SQL Server széles körű elterjedtsége lehet, illetve az, hogy a PDW-t több gyártó is forgalmazhatja, amelyek egymással versenyezve valószínűleg egy idő után lejjebb fogják szorítani az árat.”

Forrás: Bodnár Ádám (HWSW – főszerkesztő)

A Microsoft kiadta az egyelőre Denali kódnév alatt fejlesztett, következő generációs SQL Server első technológiai előzetesét. A szoftver a megbízhatóság és rendelkezésre állás, felügyelhetőség, illetve az üzleti intelligencia támogatása terén szolgál elsősorban újdonságokkal.

” ..elrajtolt a következő generációs SQL Server első technológiai előzetese, amelyet az MSDN- és TechNet-előfizetők máris letölthetnek a vállalat weboldaláról.

Rendelkezésre állás, teljesítmény

Mivel a fejlesztés még viszonylag korai szakaszban tart, nincs végleges lista az újdonságokról, amelyek a Denaliba kerülnek. A fejlődés irányvonalait, illetve egy-két konkrét technológiát azonban már látni lehet. A Denali egyik fontos újdonsága az AlwaysOn, amely a rendelkezésre állást növelő technológiák ernyője. A SQL Server jelenleg is kínál tükrözést, fürtözést és logmásolást (log shipping), az új SQL Serverbe viszont már egy olyan megoldás kerül be, amely mindhárom lehetőséget egyszerre kínálja, ezzel nem csak a rendelkezésre állás növelhető, hanem az adatbázis skálázhatóságát is javítja. Az új SQL Server már hivatalosan támogatott lesz Server Core telepítéseken, ezzel szintén az üzemidőt lehet javítani: a Server Core egy “lecsupaszított” Windows Server, csak a szükséges komponensekkel, ezért kevesebb hibajavítás érinti és ritkábban kell újraindítani.

A teljesítményt fokozni hivatott további újdonság, hogy a korábban a PowerPivot által használt, az adatokat a memóriában tároló, oszlopalapú VertiPaq tárolómotor más feladatokra is alkalmazható lesz a SQL Server Analysis Servicesben, amivel jelentősen csökkenhet az adatok helyigénye és a Column-Based Query Accelerator révén akár ötvenszeresére is emelkedhet egyes lekérdezések sebessége a Microsoft szerint – ez elsősorban üzleti intelligencia és adattárház felhasználásnál számít.

Üzleti intelligencia

Üzleti intelligencia területén további újdonságokkal szolgál a Denali, elsősorban a SQL Server Integration Services révén, amely a SQL Server 2005 óta csak ráncfelvarrásokon esett keresztül, most azonban teljesen megújul. A legfontosabb fejlesztések között említhető a Data Quality Services megjelenése, amely elsősorban adattisztításra szolgál, a Data Impact és a Linage segítségével pedig felderíthető, hogy milyen rendszerek függenek az adatoktól, illetve hogy maguk az adatok honnan származnak, milyen rendszerek állnak mögöttük.

Egyelőre Crescent kódnéven fejlesztik a SQL Server adatvizualizációs képességeit. A cél, hogy “önkiszolgáló” üzleti intelligencia képességekkel bővüljön az adatbázis a SQL Server Reporting Services képességeinek bővítése révén. A Crescent révén a felhasználók programozás nélkül, grafikus felületen, drag and drop módszerrel hozhatnak létre látványos adatvizualizációkat, animációkat, grafikonokat. A Crescent a fejlesztőcsapat blogja szerint azonban nem került bele a SQL Server Denali első technológiai előzetesébe, legkorábban 2011 első felében találkozhatnak vele a tesztelők.

Fejlesztői újdonságok

Fejlesztői szempontból fontos előrelépés a Juneau kódnevű projekt, amely egy új fejlesztői plugin a Visual Studióhoz. A Microsoft azt ígéri, a Juneau-val a programozók számára eltűnnek a különbségek a telepített SQL Server és a felhőben futó SQL Azure adatbázis között, ezzel az alkalmazások számára megteremtődik a valódi átjárhatóság. A cél az, hogy teljesen egyformán lehessen és kelljen SQL Serverre és SQL Azure-re fejleszteni és a különbségek minél hamarabb eltűnjenek. Példa: ha Data Definition Language-ben adja meg valaki a logfájlok helyét, az alkalmazás nem működik SQL Azure-ön, mivel az maga gondoskodik a logok tárolásáról.

A Microsoft egyelőre nem kommunikálta hivatalosan, mikor érkezik a végleges verzió, de tekintettel arra, hogy a SQL Server 2008 R2 alig fél éve rajtolt el, a Denali 2011 végén vagy 2012-ben várható. A végleges verzió kiadása előtt több béta is érkezik a szoftverből, de hogy pontosan mennyi, azt egyelőre nem tudni. A vállalat álláspontja szerint annyi előzetest adnak ki a termékből, amennyit szükségesnek látnak.”

Forrás: Bodnár Ádám (HWSW)

“A Greenplum Database ún. “shared nothing” MPP architektúrát valósít meg, az adatokat a csomópontok elosztva tárolják. Ennek a megközelítésnek az előnye a közel lineáris skálázódás, vagyis további csomópontok hozzáadásával a kapacitás és a teljesítmény hatékonyan növelhető, a shared-nothing architektúra hátránya ugyanakkor a viszonylag nagy válaszidő, de hatalmas adatbázisokon végzett komplex lekérdezések esetén ez tolerálható. Shared nothing architektúrát valósítanak meg egyébként a Google szerverei, amelyek a webkereséseket szolgálják ki, illetve a Teradata adattárház-gépek is.”

Forrás: Bodnár Ádám (HWSW)

“.. az EMC Greenplum Data Computing Appliance, amely tömeghardverekre és saját szoftver kombinációja. Jelentős különbség azonban az Oracle megközelítéséhez képest, hogy a Greenplum által fejlesztett adatbányászati és üzleti intelligencia platform alapjait nyílt forrású szoftverek adják. A Greenplum Database a nyílt forrású PostgreSQL adatbázis továbbfejlesztésével jött létre, a szoftvert futtató Intel Xeon-alapú szervereken pedig Red Hat Enterprise Linux 5.5 az operációs rendszer.”

EMC Greenplum Data Computing Appliance

EMC Greenplum Data Computing Appliance

“Az EMC két gépet dobott piacra, a Daca Computing GP100 és GP1000 modelleket, előbbiben 8, utóbbiban 16 szerver tárolja és dolgozza fel az adatokat és hajtja végre a lekérdezéseket. A Greenplum terminológiában “Segment Servernek” nevezett gépeket egy “Master Server” vezérli, amely a nagyobb biztonság és rendelkezésre állás érdekében meg van kettőzve, de a második gép csak “stand-by”, vagyis kiesés esetén veszi át az elsődleges Master Server szerepét. A Master Server fogadja a felhasználóktól a lekérdezéseket (SQL, MapReduce, stb) és osztja ki azok végrehajtását a Segment Serverek felé, majd prezentálja az eredményeket.”

“A tranzakciós logok replikálásával a másodlagos szerver folyamatosan szinkronban van tartva, a Segment Serverek adatai pedig egymásra vannak tükrözve. Egy Segment Server tükre mindig egy másik alhálózaton található szerverre kerül, a két példány fájl blokkreplikálással van szinkronban tartva. így ha egy diszk vagy gép kiesik, a teljes rendszer továbbra is működőképes marad. Hiba esetén a Master Server automatikusan a problémás Segment Server tükrét kezdi használni, a javítás után pedig a visszatérés üzemi állapotba működés közben is támogatott, a kiesés óta végzett változtatások visszareplikálásával.

A Greenplum adattárház-gépbe épített szerverekben egyenként 2 darab hatmagos Intel Xeon processzor található 48 gigabájt memória társaságában. A Master Serverekben hat darab 600 gigabájtos, 10 ezer fordulaton pörgő SAS diszk dolgozik, a Segment Serverekben 12 darab merevlemez található (két RAID 5 tömbben), amelyek 15 ezres fordulaton járnak. A szervereket 10 gigabites Ethernet interfész kapcsolja össze, amelyen a Greenplum saját fejlesztésű gNet protokollja biztosítja az adatáramlást. A cég szerint a gNet akár több tízezer szerverig skálázódik. A Greenplum Data Computing Architecture felépítéséről bővebben az EMC oldalán lehet olvasni.”

Forrás: Bodnár Ádám (HWSW)