Milyen SQL szervert válasszak az adattárház motorjának?
Szinte nincs olyan bemutató, megbeszélés, konzultáció – akár ügyfeleknek, akár tanácsadó cégeknek – hogy ne hangozna el az a kérdés: „Milyen SQL Server-t válasszak?”. Épp ezért most ezt a témát járjuk körül, és megvizsgáljuk azt, hogy adattárház építéshez vagy üzleti intelligencia rendszer kialakításához melyik SQL Server verziót érdemes használni a 6 kapható közül
Ha megnézi az „SQL Server 2005 változatok összehasonlítása” című hivatalos Microsoft oldalt, akkor ott azt olvashatja, hogy az „adattárház lehetőségeket” mindkét változat támogatja. Ez alapján felelősség teljesen dönteni egyik vagy másik SQL Server változat mellett bizony nem könnyű. Épp ezért összeszedtem azokat a szempontokat, amelyet figyelembe kell vennie döntése meghozatalához. (Hangsúlyozom, hogy az alábbiakban csak a üzleti intelligencia rendszer és adattárház építés szempontjából releváns különbségeket mutatom be)
Az SQL Server-nek 6 fajta változata (edition) kapható a piacon kezdve az ingyenestől egészen a 25000 dollár/processoros változatig. Nyilvánvaló, hogy nem mellékes, hogy az ember melyik változatot használja fel adattárház, vagy üzleti intelligencia rendszer építéséhez. Épp ezért a most következő cikkben megmutatom, hogy mire kell odafigyelnie ha SQL Server-t edition-t választasz. Mielőtt ebbe belemennénk, nézzük meg, hogy milyen változatban kapható az SQL Server:
- Enterpise Edition: Tartalmazza az SQL Server 2005 összes szolgáltatását. Ez az a változat, amelyik mindent tartalmaz
- Developer Edition: Ugyanaz mint az Enterpise edition, azzal a megkötéssel, hogy ez a változat csak fejlesztésre használható. Tehát ez is egy fullos változat, csak production környezetben nem használható.
- Standard Edition: Az Enterpise edition változat szolgáltatásainak legjavát tartalmazza, de skálázhatósági és más komplexebb üzleti intelligencia rendszerek építéséhez szükséges szolgáltatásokat már nem
- Workgroup Edition: Tartalmazza az SQL Server főbb szolgáltatásait, de az üzleti intelligenciát és az adattárház építést már nem támogatja (még része a Reportimg Services, de az OLAP motor, és az ETL eszközt (Integration Services) már nem)
- Express Edition: Az SQL Server ingyenes, lebutított változata. Üzleti intelligencia rendszer vagy adattárház építésére alkalmatlan
- Compact Edition: Az SQL Server mobil változata: Üzleti intelligencia rendszer vagy adattárház építésére alkalmatlan
A fentiekből látszik, hogy üzleti intelligencia és adattárház célra csak 2 változat használható: Az enterpise és a Standard változat. (Mivel a Developer változat és az Enterprise változat teljesen azonos, csak licenszpolitikájában tér el egymástól, azokat egyként kezelem)
Választás Standard és Enterprise változat között Az alábbi táblázatot a hivatalos „SQL Server 2005 változatok összehasonlítása" című microsoftos dokumentum alapján készítettem úgy, hogy ebben már csak a Standard és Enterprise változatok közti különbséget emeltem ki. Íme:
Funkció | STD | ENT | Leírás |
Skálázhatóság és teljesítmény | |||
Processzorok száma | Max 4 | Nincs korlát | Többmagos processzorokat is támogat |
Partícionálás | - | OK | Nagyméretű adatbázisok támogatása |
Párhuzamos indexműve-letek | - | OK | Indexműveletek párhuzamos végzése |
Indexelt nézetek | - | OK | Minden változatban lehet indexelt nézeteket létrehozni, de a query processor az indexelt nézetek-et csak az Enterprise változatban használja automatikusan keresésre. |
Rendelkezésre állás | |||
Online indexelés | - | OK | - |
Online visszaállítás | - | OK | - |
Gyors visszaállítás | - | OK | Az adatbázis már elérhető az esetleges visszagörgetés ideje alatt |
Integráció és együttműködés más technológiákkal | |||
Integration Services bonyolult átalakításokkal | - | OK | Többek között adatbányászat, szövegelemzés és adattisztítás. |
Oracle replikáció | - | OK | Tranzakcionális replikáció, ahol egy Oracle adatbázis a forrás. |
Üzleti intelligencia | |||
Oldalra skálázható (Scale Out) riport kiszolgálók | - | OK | - |
Adat alapú előfizetések | - | OK | - |
Korlátlan átkattintás (Clickthrough) | - | OK | - |
Fejlett üzleti elemzés | - | OK | Főkönyvi számlák kezelése, többnyelvű metaadatok, perspektívák és részben additív mértékek. |
Proaktív gyorsítótá-razás | - | OK | Automatikus gyorsítótárazást biztosít a nagyobb skálázhatóság és teljesítmény érdekében. |
Fejlett adatkezelés | - | OK | Partícionált kockák, párhuzamos feldolgozás, kiszolgáló szinkronizálás. |
Teljes visszaírási támogatás | - | OK | Dimenzió és cella visszaírás |
Fejlett teljesítmény-hangolás | - | OK | Az adatbányászati modellek további hangolásának lehetősége a nagyobb pontosság és skálázhatóság érdekében. |
SQL Server Integration Services adatfolyam integrálás | - | OK | Előrejelzés adatbányászati eszközökkel, illetve az adatbányászati modellek frissítése |
Szöveg-elemzés (Text Mining) | - | OK | A strukturálatlan szöveg strukturált adattá alakítása a riportkészítéshez, OLAP elemzéshez vagy adatbányászathoz. |
SQL Server 2005 változatok összehasonlítása
Hát... Ember legyen a talpán, aki ebből a táblázatból el tudja dönteni, hogy standard vagy enterprise változatot válasszon. Mit jelent az, hogy „Integration Services bonyolult átalakításokkal? vagy Korlátlan átkattintás (Clickthrough)?
Ha továbbolvassa a cikket, akkor mindezen kérdésekre választ kaphat, hiszen elkezdjük kivesézni és értelmezni a fenti táblázat tartalmát. Kezdjünk is bele és nézzük meg, hogy egy adattárház vagy egy üzleti intelligencia rendszer bevezetéséhez melyek azok a szempontok, amelyeket mérlegelnie kell a Standard vagy Enterprise változatok közti választáskor.
Skálázhatóság és teljesítmény
Processzorok száma: Tudnia kell, hogy a Standard edition csak 4 processzort támogat. Ha többet akar használni, akkor válassza az enterprise edition-t, ami nem korlátozza a processzorok számát. Apropó. Egy kétmagos processzor hány processzornak számít? 1-nek vagy 2-nek?
A Microsoft licenszpolitikája szerint csak a processzor számít, az hogy hány magja van nem. Tehát egy négymagos processzorért csak 1 processzor licenszvonzatát kell megfizetni. (Ellentétben pl. az ORACLE-lel, aki az mondja, hogy minden mag fél processzornak számít. Tehát egy négy magos processzort használva náluk 2 processzor licenszét kéne megvásárolnia) E kis kitérő után térjünk vissza a Satndard, vagy Enterprise változat közti döntés előkészítéséhez.
Partícionálás: Erre a szolgáltatásra akkor lesz szüksége, ha lesz olyan ténytáblája, amely több 10 millió rekordot tartalmaz. De honnan tudja, hogy hány sora lesz a ténytáblában még a bevezetés előtt?
Ha Ön nem jártas a témában, akkor döntse el az előző félévi napi tranzakciók száma alapján: Ha egy terület (témakör) napi tranzakcióinak száma az elmúlt fél évben meghaladta a 10-20 millió rekordot, akkor nagy valószínűséggel szüksége lesz a partícionálásra.
Párhuzamos index műveletek, Indexelt nézetek: Nagy adattárházak esetén erre szüksége lehet (De ha nagy adattárházat akar, akkor már a partícionálás miatt is Enterprise edition-t kell választani.)
Rendelkezésre állás: A minél magasabb rendelkezésre állás kulcsfontosságú az operatív rendszerek esetében, de adattárházak és üzleti intelligencia rendszerek esetén ez nem olyan kardinális kérdés. Persze fontos, hogy egy mentést mihamarabb vissza tudjon állítani, de messze nem olyan kardinális, mint mondjuk a vállalat irányítási rendszer esetében. Így emiatt úgy gondolom, hogy nem kell enterprise változatot választania, a standard változat funkcionalitása elegendő lesz.
Integráció és együttműködés más technológiákkal
Integration Services bonyolult átalakításokkal: Na ez az a téma amit egy kicsit ki kell veséznünk, mert ez mondat annyira puha, hogy ezt nem lehet felhasználni egy döntés előkészítési fázisban. Utánanéztem, hogy mit is jelent ez pontosan:
A következő transzformációk nem érhetőek el a standard változat Integration Services-ében:
- Data Mining Training Destination (az adatbányászat kelléke)
- Data Mining Query Component (az adatbányászat kelléke)
- Fuzzy Grouping (az adattisztítás kelléke)
- Fuzzy Lookup (az adattisztítás kelléke)
- Term Extraction (a szövegbányászat kelléke)
- Term Lookup (a szövegbányászat kelléke)
Mivel jelen pillanatban az adatbányászat és a szövegbányászat (pláne, hogy az csak az angol nyelvű szövegek szétbontását támogatja, lokalizált verziója nincs) kívül esik a vizsgálódási területünkön, csak az adattisztítás témakörével kell foglalkoznunk.
A fuzzy lookup és a fuzzy grouping task-okat remekül fel lehet használni adattisztítási feladatok ellátására, de önmagukban kevesek ahhoz, hogy megoldják az adattisztítási problémáinkat. (pláne úgy, hogy ezeknek sincs magyar nyelvre lokalizált változatuk). Épp ezért azt javaslom, hogy ha az adatminőséggel komoly gondjai vannak, akkor annak megoldását kezelje külön projektként, és elsősorban ne ettől függjön, hogy milyen SQL server változatot választasz majd. (Ha érdekli a fuzzy lookup, akkor olvassa el „Az adattisztítás magyar nyelvi sajátosságai" című cikket)
ORACLE replikáció: üzleti intelligencia és adattárház építés szempontjából úgy érzem indifferens, hogy az enterpise edition tud oracle-ből replikálni.
Üzleti Intelligencia
Mivel az „Adattárház lehetőségeket (Data Warehousing)" mindkét SQL Server változat támogatja - olvasható a hivatalos dokumentációban, így ezzel szerencsére nem kell foglalkoznunk :-) Persze ez nem igaz, úgyhogy fogjunk hozzá a téma kibontásához:
Oldalra skálázható (Scale Out) riport kiszolgálók: A Reporting Services enterprise változata lehetőséget biztosít arra, hogy egy közös reportserver adatbázist több Reporting services példány (instance) is használjon. Magyarul több különálló Reporting Services-t futtató szervergép táplálkozhat ugyanabból az adatbázisból lehetővé téve így a terheléselosztást (Load balancing). Ha erről bővebb infóra van szüksége, itt megtalálhatja.
Adat alapú előfizetések (Data Driven Subscriptions): A Reporting Services enterprise változata lehetőséget biztosít a felhasználók számára, hogy azok előfizethessenek riportokra (különböző formátumban és különböző paraméterek alapján) és arra is, hogy ugyanazt a riportot eltérő paraméterekkel több címzettnek is elküldhessük. Első ránézésre nagyon fontosnak tűnik ez a szolgáltatás, de eddig egyik ügyfelemnek sem volt az hiszen „ha az adattárház naponta frissül, akkor minek minden nap elküldeni a riportot"? Persze ezzel lehet vitatkozni, de úgy gondolom, hogy csak ezért a szolgáltatásért szintén nem érdemes Enterprise edition-t választani
Korlátlan átkattintás (Infinite Clickthrough): Hát ennek utána kellett néznem, hogy mit jelent pontosan, mert csak sejtésem volt róla. És jól tettem, mert másra gondoltam... A korlátlan átkattintás a Report Builder szolgáltatása, és lehetővé teszi, hogy a Report Model-ben definiált kapcsolatok alapján egyik riportból „átfúrjunk" egy másikba anélkül, hogy ezt az átfúrást előzőleg definiáltuk volna.
Fejlett üzleti elemzés: Végre elérkeztünk egy kritikusan fontos ponthoz. Az angol nyelvű oldal így részletezi: Account intelligence, metadata translation, perspective and semi-additive measures. Ezek mind-mind OLAP funkciók, és ha használja az Analysis Services-t (OLAP-ot), akkor ezek közül kettőre, - a perspektívákra és a „semi-addtive" measure-ökre biztos, hogy szüksége lesz. De nézzük őket részletesen is:
Account intelligence: A főkönyvi számlák kategorizálását teszi lehetővé (megmondhatjuk például az OLAP szervernek, hogy egy adott főkönyvi számla eszköz, forrás, vagy eredmény számla-e, amit aztán az aggregálási módszerek meghatározásakor figyelembe vesz: összeadható-e az idő mentén vagy sem) Jó, ha van, de meg tudunk lenni nélküle
Metadata translation: Többnyelvűség támogatása. Ha több nyelven is elő kell állítania a riportokat, akkor erre a szolgáltatásra szüksége lesz, így ebben az esetben enterprise változatot kell választania
Perspective: Egy adatkockára definiálhatunk nézeteket hasonlóan ahhoz, ahogy a relációs táblákra view-kat. Számomra egy örök dilemma, hogy használjunk-e perspektívákat vagy sem, de mindenképpen hasznos találmány és a tervezőknek nagy szabadságot ad az adatmodell kialakítása során. Úgyhogy, ha használni akar OLAP-ot akkor erre a szolgáltatásra szüksége lesz.
Semi-additive measures: E nélkül a szolgáltatás nélkül nem fog tudni meghatározni készlet értékeket, egyenlegeket, ... és minden olyan mutatót, amelyet az idő mentén nem szabad felösszegezni. És ez nagyon fontos. Ha most még úgy is gondolja, hogy meg lesz nélküle, el fog jönni az az idő, amikor már nagyon fájó lesz nélküle dolgozni. Ez az, ami igazából nem „enterprise" jellemző, mert erre a szolgáltatásra bármely „kis"vállalatnak szüksége van. De sajnos a standard edition-be nem került be... Így ha OLAP-ot, (Analysis Services-t) akar használni, akkor emiatt a funkció miatt szinte biztos, hogy enterprise változatot kell választania
Proaktív gyorsítótárazás (Proactive cache): Igazából akkor lesz rá szüksége, ha on-line üzleti intelligencia rendszert akar építeni, és azt szeretné elérni, hogy a üzleti intelligencia rendszer mondjuk maximum 15 perccel késleltetett adatokat mutasson a forrásrendszerekhez képest. Tradicionális, értsd napi frissítésű üzleti intelligencia rendszerek felépítéséhez ez a funkció nem szükséges.
Fejlett adatkezelés: Partícionált kockák, párhuzamos feldolgozás, kiszolgáló szinkronizálás. Nagy OLAP adatbázisok feltöltéséhez, menedzseléséhez szükségesek lehetnek ezek a szolgáltatások. Mit jelent a nagy OLAP adatbázis? Itt nincs olyan ökölszabály, mint mondjuk a relációs adattárházaknál, de ha több 10 millió sora van a ténytáblában, akkor OLAP oldalon is érdemes lehet elgondolkodni a partícionáláson, és így az enterprise változaton. Alatta biztos nem.
Teljes visszaírási támogatás: Ha kliens oldalról akar visszaírni az OLAP adatkockába, akkor szüksége lesz erre a szolgáltatásra. De azt javaslom, hogy mielőtt rávágná, hogy igen, ez nekem kell, előtte nézze meg, hogy milyen front-endek támogatják a visszaírást és milyen tervezést támogató algoritmusokat ismer az Analysis Services.
Fejlett teljesítmény-hangolás, SQL Server Integration Services adatfolyam integrálás, Szöveg-elemzés (Text Mining): Mind-mind adatbányászatot vagy szövegbányászatot támogató szolgáltatás, így jelen pillanatban kívül esik a vizsgálódási területünkön. De tudjon róla, hogy ha adatbányászatra vagy szövegbányászatra akar SQL Szervert használni, akkor ezeket a szempontokat még körül kell járnia.
Összefoglalás
Remélem, hogy adattárház és üzleti intelligencia oldalról sikerült egy kicsit tisztába tennem az SQL Server edition-ök közti fő különbségeket, és bízom benne, hogy mindezek alapján Ön is ki fogja tudni választani a legmegfelelőbb változatot.
Itt a cikk végén hagy osszak meg még egy titkot. Nagy általánosságban (egy átlagos projektben) Isten igazából két tényező van, ami az enterprise verzió javára billenti a mérleg nyelvét:
- Méret
- OLAP szükségessége
Ha nagy mennyiségű adatokkal kell dolgoznia, értsd több 10 millió rekord/év, vagy akar használni OLAP-ot (Analysis Services-t), és az OLAP-ban nem csak a „sales" kockát akarja megépíteni, akkor mindenképpen az enterprise edition-ra lesz szüksége.
Irodalom:
Kővári Attila - BI projekt
Új hozzászólás