Vertikální ukládání dat Vladimír Kyjonka Sybase ČR Tychonova 2 160 00 Praha 6
[email protected] Abstrakt Podle nezávislých studíí bude v oboru business inteligence pro následující dekádu znamenat vertikální ukládání dat totéž, co pro devadesátá léta 20. století. Technologická implementace myšlenky teoreticky popsané již dříve umožňuje dosáhnout podstatně vyššího výkonu s výrazně menšími náklady téměř beze změny architektury řešení. V článku jsou nastíněny základní principy této technologie, popsány metody které využívá a diskutovány její přínosy i omezení. Abstract According to indepenednt studies, it is likely that in Business Intelligence area vertical data storage will be to this decade what OLAP was to the 90’s.Technological implementation of a many years ago described theoretical idea enables significant performance improvement with substatnially lower costs and minimal architecture changes of a solution. The article shows main principles of the technology, describes used methods and duscusses its benefits and limitations. Klíčová slova Business inteligence, datový sklad, ukládání dat, technologie, uživatel, náklady, metoda, ad-hoc dotazování, akcelerátor, sloupcově orientovaná relační databáze (CRBD) Keywords Business Intelligence, Data Warehouse, data storage, technology, user, costs, method, ad-hoc query, accelerator, Column Based Relational Database (CRBD)
1 Úvod Pojem vertikální ukládání dat může znít na první pohled poněkud vědecky a mohlo by se zdát, že půjde pouze o diskusi nad jedním z dalších teoretických modelů. Hned na začátku bychom však rádi řekli, že jde o velmi moderní technologický koncept, který už v praxi mnohokrát prokázal své přínosy. Důvody, pro které se o něm chceme bavit, jsou v zásadě tři: Jde o technologii, která významně posunuje možnosti v oblasti hromadného zpracování dat. Její nasazení je velmi efektivní, dokáže ušetřit velké peníze. Je to velmi zajímavé.
2 Co a k čemu je vertikální ukládání dat Tato technologie je cílena do oblasti, zahrnující všechny aplikace označované jako systémy pro podporu rozhodování (DSS), datové sklady (DW), byznys inteligence (BI), dolování dat (DM) atd.. Pro ně pro všechny je společné, že pracují s daty vzniklými jinde – v běžných podnikových agendách jako je výroba, obchodování, účtování, personalistika – a využívají je pro nalézání úzkých míst, analýzu rizik, měření výkonnosti a efektivity, segmentaci zákazníků identifikaci problémů, sledování trendů, modelování vývoje atd.. Toto sekundární zpracování dat má zcela odlišné požadavky než ony původní operativní systémy. A právě technologie vertikálního ukládání dat je šita na míru těmto
SYSTEMS INTEGRATION 2004
301
VLADIMÍR KYJONKA
odlišným požadavkům. Vychází z konceptu relačních databází, od nějž se na první pohled zvnějšku ani příliš neliší. Pro ukládání dat však využívá odlišných metod, které umožňují provádět složité dotazy nad velmi rozsáhlými daty ve zlomcích doby odezvy ve srovnání s „klasickou“ technologií a to i při současné práci velkého počtu uživatelů. Přitom vyžaduje několikrát menší diskový prostor a stačí jí méně výkonný hardware. Zkráceně by se dalo říci, že může znamenat cestu k vytvoření a provozování relativně velkého datového skladu za rozumné peníze.
3 Princip vertikálního ukládání dat Relační databázové systémy dnes pro podnikové aplikace představují jakousi klasiku. Optimálně je u nich vyvážena jednoduchost použití, funkcionalita a výkonnost s ekonomickými parametry. Z dnešního pohledu jsou ideální pro ukládání a zpracování dat pro transakční aplikace. Základní strukturou jsou databázové tabulky, jejichž řádky odpovídají záznamům o jednotlivých objektech daného typu a sloupce obsahují dílčí údaje o daném objektu. Pro transakční zpracování je výhodné, že obsah tabulek je fyzicky ukládán po jednotlivých řádcích (čili záznamech, větách …). Databázový stroj dokáže velmi rychle vyhledat požadovaný záznam, přečíst jeho obsah, uzamknout jej, přepsat jeho hodnoty a zase jej odemknout – tedy provést databázovou transakci. Pomáhají mu k tomu indexy na bázi binárních stromů, umožňující velmi rychlou navigaci mezi záznamy. Toto uspořádání však už není tak výhodné pro reporty a analytické dotazy, vyžadující agregace a výpočty nad velkým množstvím hodnot obsažených v různých záznamech. Klasické databázové systémy jsou limitovány co do rychlosti, objemu zpracovávaných dat i počtu současně pracujících uživatelů. Pro překonání těchto limitů se využívá extensivní indexování, paralelní zpracování v clusterech nebo u některých systémů masivně paralelní zpracování. Všechny tyto cesty mají jedno společné: jsou velmi náročné na diskový prostor i výpočetní výkon, vyžadují velmi výkonný a patřičně drahý hardware. Vertikální ukládání dat může být alternativou, která činí na dnešní poměry rozsáhlé datové sklady (od desítek GB po desítky TB) dosažitelnými i pro menší organisace s omezenou možností investic. Základní princip je jednoduchý. Řádkové ukládání dat je nahrazeno ukládáním po sloupcích databázových tabulek. Tato jednoduchá myšlenka přináší hned několik efektů: -
-
-
302
Pohromadě jsou uloženy atributy a veličiny se stejným obsahem a stejného formátu. To má zásadní význam zejména pro složité výpočty – z disků se čtou a do paměti přenášejí pouze vybraná data relevantní pro konkrétní výpočty, což drasticky (až o několik řádů) snižuje počet přístupů na disk, časově nejnáročnějších operací prováděných databázovým systémem. Vzhledem k tomu, že se pracuje s homogenními poli (vektory), je možno je fyzicky ukládat rozličnými metodami, využívajícími efektivního matematického aparátu. V praxi to znamená, že pro každý typ dat může být současně použito několika metod ukládání a čtení, které jsou výhodné pro různé typy operací (jiný mechanismus je vhodný pro vyhledávání, jiný pro agregované výpočty, operace nad intervaly, práci s různými typy textových položek atd.) Homogenita dat umožňuje využívat velmi efektivně komprimační algoritmy, což vede ke zmenšení objemu ukládaných dat (a menším nárokům na diskový prostor a na výpočetní systém jako takový) a kromě toho k dalšímu snížení objemu přenášených dat. Vlastní databázové operace (řešení dotazů) mohou využívat místo navigace ve stromech indexů výpočtů booleovské algebry nad různými typy bitmapových struktur. Výsledkem je další výrazné zrychlení.
SYSTEMS INTEGRATION 2004
VERTIKÁLNÍ UKLÁDÁNÍ DAT
Databázový Software
Rozsa h GB
Poměr DB / čistá Data
Velikos t DB
Cena za disky – USD
Cena za Cena za Rozdíl GB uložení čistých USD dat - USD 1 504 338 356 106 918 1 397 420
Informix XPS 8.31 FD1 MS SQL Server 2000 Informix XPS 8.30 FC3
300
14,07
4 221
300
12,10
3 630
299 764
83
24 774
274 990
300
11,12
3 336
1 307 774
392
117 606
1 190 168
MS SQL Server 2000
300
7,35
2 205
151 909
69
20 668
131 241
Informix EPS 8.30 FC2
300
6,95
2 085
457 984
220
65 897
392 087
Informix EPS 8.30 FC2
300
10,46
3 138
961 857
307
91 956
869 901
IBM DB2 UDB 7.1
300
9,38
2 814
464 703
165
49 542
415 161
IBM DB2 UDB 7.1 IBM DB2 UDB 7.1
300
14,01
4 203
697 055
166
49 754
647 301
300
19,05
5 715
922 906
161
48 447
874 459
* Sybase IQ 12.4.3 Oracle9i Enterprise
300
0,97
291
62 033
213
63 952
-1 919
1000
13,57
13 570
6 505 521
479
479 405
6 026 116
Informix EPS 8.31FD1
1000
10,18
10 180
5 425 930
533
532 999
4 892 931
IBM DB2 UDB 7.1
1000
9,71
9 710
3 766 620
388
387 911
3 378 709
Teradata V2R4.1 IBM DB2 UDB EEE 7.2
1000
9,00
9 000
2 624 899
292
291 655
2 333 244
1000
6,00
6 000
642 751
107
107 125
535 626
* Sybase IQ 12.4.3
1000
0,97
970
349 025
360
359 820
-10 795
Tab. 1: Tabulka výsledků testů TPC-H (zdtoj: www.tpc.org): náklady na ukládání dat. Tato tabulka ukazuje rozsah „datové exploze“u relačních databází využitých pro řešení datových skladů. Hvězdičkou je označena technologie vertikálního ukládání dat.
4 Jak vypadá technologie vertikálního ukládání „Přehození“ řádků a sloupců v tabulkách (v maticích) je vcelku jednoduchá záležitost, matematicky snadno uskutečnitelná. Technologická implementace v databázovém kontextu už tak jednoduchá není, protože fakticky pracujeme pořád se stejnými objekty (výskyty entit, říká se odborně), jejichž logická struktura a integrita musí být zachována. Jednoduše řečeno, jde o to zajistit, aby i při výpočtech nad shluky atributů např. různých osob byla ošetřena vazba na jednotlivé konkrétní jedince. A to je hlavní příčinou toho, proč vyvinout takový softwarový produkt, který by byl navíc komerčně úspěšný, není jednoduché.
SYSTEMS INTEGRATION 2004
303
VLADIMÍR KYJONKA
Vlastní technologie spočívá na několika typech struktur, ve kterých jsou data ukládána. Tyto struktury se liší podle typu dat, pro něž jsou použity. Jde jak o „technické“ typy – v podstatě datové typy (čísla, řetězce, kalendářní data …), tak o „strukturální“ typy (primární a cizí klíče, metriky, atributy …) a
Klasický RDBMS
Vertikální ukládání
ID
JM
ADR
PLAN
70,5
1
aaa
zz
70,5
yy
80,6
2
bbb
yy
80,6
ccc
xx
90,7
3
ccc
xx
90,7
4
ddd
vv
60,4
4
ddd
vv
60,4
5
eee
uu
50,3
5
eee
uu
50,3
6
fff
tt
40,2
6
fff
tt
40,2
7
ggg
ss
30,1
7
ggg
ss
30,1
8
hhh
rr
20,0
8
hhh
rr
20,0
ID
JM
DPT
PLAN
1
aaa
zz
2
bbb
3
Obr1.: Horizontální a vertikální ukládání dat dokonce o „logické“ typy (např. adresa, věk, peněžní částka …). Důležitá je rovněž kardinalita dat (počet různých hodnot vyskytujících se v celé množině). Pro každý tento typ struktury jsou pak vytvořeny speciální algoritmy zápisu, čtení výpočtů agregací, prohledávání (projekcí) atd. Jednotlivé databázové položky (sloupce tabulek) mohou mít současně přiřazeno více typů těchto speciálních struktur, které pak representují různé přístupové metody.
4.1 Metody vertikálního ukládání dat Zde bychom rádi ukázali, jak jsou různé typy vertikálních struktur konkrétně implementovány. Opíráme se přitom o zkušenosti z komerčně používaného produktu Sybase IQ, se kterým pracujeme. Z velkého počtu různých typů jich zde vzhledem k rozsahu a zaměření tohoto referátu vybereme pouze několik nejzajímavějších a nejnázornějších. V uvedené technologii se používá termínu indexy (je třeba zdůraznit, že se nejedná o tradiční binární stromy). Budeme tedy nadále hovořit o různých typech indexů. Pro sloupce s nízkou a velmi nízkou kardinalitou se používají tzv. Low-Fast indexy (LF). Je jich několik poddruhů. V zásadě jde o klasické bitmapy, ve kterých posice příslušného bitu indikuje přítomnost dané hodnoty. Na tyto bitmapy jsou uplatněny velice účinné komprimační mechanismy. Pro data s vyšší kardinalitou (několik stovek různých hodnot – do 1500) jsou tyto bitmapy
304
SYSTEMS INTEGRATION 2004
VERTIKÁLNÍ UKLÁDÁNÍ DAT
kombinovány s invertovanými seznamy. Na příslušné posici je uložen max. dvoubytový kód, který odpovídá jedné z konkrétních hodnot uložené v tzv. lookup tabulce s komprimovanými bitmapami. Low-fast indexy se vyznačují velkou rychlostí (jsou nejrychlejší ze všech typů) a velkou datovou kompresí (pro jejich uložení je třeba cca 20% místa ve srovnání s velikostí čistých vstupních dat). Jsou velmi efektivní pro agregace, spojování tabulek, shlukování, výpočty i projekce v klauzuli where s neurčitými podmínkami (=, <>, >=, <=, IN, …) a aritmetické operace. Pro sloupce s vysokou a velmi vysokou kardinalitou je navržen tzv. High-non-Group index (HNG). Tento index rozkládá hodnoty na menší části (čísla na jednotlivé bity, řetězce na jednotlivé znaky) a ty pak ukládá do samostatných bitmap. Tento typ indexů je rovněž velmi rychlý a zabírá velmi málo místa (2-20% původních dat). Je efektivní pro agregace, intervalové vyhledávání (>,<,>=,<=, BETWEEN, NOT BETWEEN …) a aritmetické operace. Je velmi rychlý i při ukládání (loadu) dat.
Sales in binary form Sales
6 9 5 11 9 3 7 12
8 bit
0 1 0 1 1 0 0
4 bit 2 bit 1 bit
1 0 1 0 0 0 1
1 0 0 1 0 1 1
0 1 1 1 1 1 1
Sales in binary form 8 bit
4 bit
2 bit
1 bit
0 1 0 1 1 0 0 1
1 0 1 0 0 0 1 1
1 0 0 1 0 1 1 0
0 1 1 1 1 1 1 0
Obr. Příklad ukládání dat: High-non-Group index rozkládá čísla na jednotlivé řády
Pro data s vysokou kardinalitou, podle nichž se často provádějí operace GROUP BY, se doporučuje využívat tzv. High-Group indexy (HG). Jsou to v podstatě vysoce komprimované B-tree indexy, jejichž nejnižší úroveň je uložena jako speciální zřetězená pole (G-Array). Tento index je velmi rychlý, ale má největší nároky na prostor (zabírá 80-120% velikosti čistých dat). Používá se především pro sloupce, definované jako primární klíče. Jeho nevýhodou je i největší časová náročnost při ukládání dat. Velmi zajímavý je tzv. Fast-Projection index (FP). Je to jedna ze struktur, na nichž se nejlépe demonstrují možnosti vertikálního ukládání. Jsou v něm uložena pouze vysoce komprimovaná vstupní data. Má několik podtypů pro různou kardinalitu dat, které se liší algoritmy, používanými pro kompresi. Používá se pro ad-hoc slučování tabulek (joins), prohledávání řetězců v klauzuli where a projekce dat. Zabírá velmi málo místa (od 1% vstupních dat) a je rovněž velmi rychlý při nahrávání dat. Z dalších typů můžeme ještě jmenovat Word index (WD). Indexování jednotlivých slov v řetězcích nepatřilo mezi typické operace v systémech business inteligence a datových skladů, v poslední době s rozšiřováním požadavků na zpracování i volněji strukturovaných dat byl požadován pro vyhledávání např. v adresách, diagnosách, popisech pojistných událostí, URL adresách atd.. Dalšími typy jsou např. Compare index (CMP), který obsahuje výsledky porovnání hodnot různých sloupců nebo Join index (JOIN) definovaný nad sloupci více tabulek současně. Toto je základní výčet možností, které známe z konkrétní implementace vertikální technologie. Samozřejmě se dá očekávat, že počet různých metod se bude rozšiřovat. Při jejich použití je však důležité, aby rozhodování, které typy vertikálních struktur použít pro konkrétní data nebylo příliš komplikované a aby výběr příslušného typu indexu byl co nejvíce automatizován. SYSTEMS INTEGRATION 2004
305
VLADIMÍR KYJONKA
U technologie, kterou zde popisujeme, jsou například automaticky všem typům dat přiřazovány indexy FP, automaticky je rovněž ošetřován přechod mezi indexy a jejich podtypy při změně kardinality dat.
5 Výhody vertikálního ukládání dat Princip vertikálního ukládání dat představuje jistě zajímavý koncept, v praxi je však důležité, co přinese, je-li aplikován formou konkrétní technologie. Jak již bylo řečeno výše, uplatnění nalézá zejména tam, kde se čtou velké objemy dat nad nimiž se provádí reporting a náročné analýzy, tedy tam, kde se budují a využívají datové sklady a mluví se o business inteligenci, on-line analytickém zpracování, dolování dat atd.. Jaké výhody může nasazení technologie, využívající vertikálního dat, přinést konkrétně v těchto oblastech? Přínosy můžeme rozdělit do dvou základních skupin: Funkčně technologické a ekonomické
5.1 Funkčně technologické výhody Rychlost Na první pohled zaujme rychlost takového systému. Odezvy na dotazy jsou nad identickými daty na stejném hardware několikrát až o několik řádů kratší než je tomu u jiných technologií. Tato výhoda je zvýrazněna s rostoucím objemem zpracovávaných dat a složitostí dotazů. Klíčem k rychlosti je především výrazná redukce počtu vstupních a výstupních diskových operací, daná jednak vlastní filosofií čtení pouze potřebných dat a rovněž jejich vysokou kompresí. Mluvíme-li o vysoké rychlosti, mámě většinou na mysli rychlost vyřizování dotazů, stejně příznivé parametry však má i nahrávání (load) dat. Počet současných uživatelů Velmi důležité je, že vysoká rychlost je zachována i s rostoucím počtem uživatelů. Pro jiné technologie je typické, že s přibývajícím počtem současně pracujících uživatelů se neúměrně prodlužuje doba odezvy a velmi rychle se dosáhne hranice, kdy se blíží nekonečnu (počet paralelních uživatelů, pro něž systém poskytuje odezvu v akceptovatelném čase se nechá spočítat ne prstech jedné ruky, maximálně obou a to i při nasazení velmi výkonného hardware). Při použití technologie vertikálního ukládání dat se s přibývajícími uživateli doba odezvy prodlužuje mírně a hlavně lineárně a systém je tak schopen efektivně obsloužit až tisíce a desetitisíce současných uživatelů. Flexibilita, Ad-hoc dotazování Systém, využívající vertikálního ukládání dat je třeba jenom minimálně optimalizovat a ladit. Operace jako reindexování, rebalancování, update statistics atd. nedávají smysl, udržování aktuálnosti veškerých potřebných informací je přímo součástí metod ukládání dat. To dává systému téměř neomezenou flexibilitu, která se projeví zejména je-li potřeba zadávat velký počet ad-hoc dotazů, pro něž není možné systém předem vyladit. Z technického hlediska systém pracuje stejně dobře s daty v 3. normální formě, hvězdicových i vločkových schématech a jejich variantách, ale umožňuje využít i modernější modely jako např. Relational Data Cubes nebo Data Vault. Relativně jednoduchou operaci představuje i přidávání nových dat, změna struktur a schémat jejich uložení. Jednoduchá implementace a správa Přesto, že jde o netradiční technologii, nevyžaduje její osvojení rozsáhlé speciální znalosti. Pro správný návrh typů indexů je třeba osvojit si několik jednoduchých pravidel, která určují jejich použití podle povahy vlastních dat. Údržba a správa systému je naopak jednodušší než u tradičních databází, protože systém není nutno ladit, zálohuje se podstatně méně dat a složitost systému je menší.
306
SYSTEMS INTEGRATION 2004
VERTIKÁLNÍ UKLÁDÁNÍ DAT
6 Ekonomické výhody Investiční náklady a ROI Jak už bylo řečeno výše, k uložení dat technologií vertikálního ukládání je potřeba několikrát méně diskového prostoru než při využití tradičních technologií. To samo o sobě při dnešní a stále rostoucí velikosti zpracovávaných dat vede k nemalým úsporám. Redukce počtu diskových operací umožňuje navíc použít méně výkonného hardware, který je v nižší cenové třídě (relativně rozsáhlý datový sklad je možno provozovat na platformě Intel s operačním systémem Win NT nebo Linux). Příznivá návratnost investic tak zpřístupní „za rozumné peníze“ relativně náročné řešení i malým a středně velkým organisacím. U rozsáhlých systémů pak mohou úspory představovat velmi zajímavé částky. Provozní náklady a TCO Při dnešním tempu zvětšování rozsahu zpracovávaných dat (některé výzkumy říkají, že průměrný meziroční nárůst dat je u řešení datových skladů 40%) je důležité zvážit, kolik nás bude naše řešení stát za rok, za pět, případně deset let (Total Cost of Ownership – TCO). U klasických datových systémů se náklady na ukládání dat s jejich objemem nezvyšují lineárně, ale výrazně rychleji. Dvakrát výkonnější počítač nedokáže zpracovat dvojnásobné množství dat. Podobně je tomu s počty uživatelů. Pro vertikální ukládání dat jsou obě tyto funkce lineární, takže náklady jsou nižší a podstatně lépe predikovatelné. Do TCO je třeba započítat i náklady na lidskou práci, spojenou se správou a údržbou systému a zejména s jeho „optimalisací“ – laděním, indexováním, repartitioningem atd., která u tradičních systémů představuje nekončící proces vylepšování systému pro nové dotazy, nová data a nové uživatele a která je s použitím technologie vertikálního ukládání redukována na minimum.
7 Omezení technologie vertikálního ukládání dat Jestliže jsme zatím vynášeli přínosy této technologie, samozřejmě se nabízí otázka, čím jsou vykoupeny, kde je „trade-off“. Jako každý specialisovaný nástroj přináší i vertikální ukládání dat své výhody, je-li správně použito. Chceme-li však po něm věci, na které „není stavěn“, dobře nám sloužit nebude, naopak můžeme splakat nad výdělkem. Jakých situací bychom se tedy měli vyvarovat? Jsou to především následující případy (Nutno přiznat že nás poučila praxe). Použití vertikálního ukládání dat pro transakční systém Jestliže se potenciální uživatel nechá oslnit výbornými výsledky této technologie (které se mimochodem nechají velmi dobře dokumentovat), rozhodne se ji použít pro ERP systém, účetnictví atd. a potenciální dodavatel ho v tom nechá, skončí to v drtivé většině případů fiaskem. Aby bylo možno využívat výhod vertikálního ukládání dat, je třeba, aby byly záznamy co nejméně zamykány. Uvědomíme-li si, že každý logický záznam je vlastně rozptýlen v mnoha oddělených fyzických strukturách, můžeme si snadno představit, co by extensivní zamykání se systémem udělalo. A právě zamykání záznamů či stránek, bloků atd. je jedním z nejužších hrdel transakčních systémů, které se však bez něj nemohou obejít. Použití vertikálního ukládání dat v prostředí, kde velký počet uživatelů provádí současně velký počet změn, je krajně nevhodné. Jeho doménou tedy zůstane oblast datových skladů a business inteligence, kde jsou data určena ke zpracování převážně formou čtení. Nasazení pro „podkritickou“ velikost aplikace Jde o klasickou situaci zaměřování kanónu na vrabce. Nasazení každého systému, byť tak efektivního, jak bylo popsáno výše, je vždy spojeno s nenulovými investicemi a provozními náklady. Proto je zvláště u méně rozsáhlých řešení vždy třeba uvažovat, zda nám požadované výstupy nedokáže s menším komfortem ale v podstatě téměř zadarmo poskytnout technologie, kterou už máme. To SYSTEMS INTEGRATION 2004
307
VLADIMÍR KYJONKA
ovšem platí i pro ostatní softwarové komponenty včetně těch, které jsou pro uživatele „přímo viditelné“. Archivace dokumentů a binárních objektů Pro tyto účely byla vyvinuta řada specialisovaných softwarových nástrojů, které tento úkol zvládají. Technologie vertikálního ukládání dat je v dnešní podobě pro tento účel naprosto nevhodná.
8 Možnosti nasazení technologie vertikálního ukládání Proč vůbec diskutujeme o tom, kde je možno systém s vertikálním ukládáním dat použít? Podle toho, co bylo dosud řečeno, by mělo být zřejmé, že je to alternativa k tradičním databázím, které by měla v oblasti business inteligence a datových skladů nahradit. Samozřejmě, tak je možno se na věc také dívat. Realita je však poněkud složitější, protože do technologií pro tato řešení bylo už mnoho investováno, existují „nepřekročitelné“ podnikové standardy, tradice atd.. Kromě toho vlastnosti vertikálního ukládání dat umožňují nasadit tuto technologii i v jiné roli, než kterou hrají tradiční databáze. Zeptejme se tedy trochu jinak. Kde a jak, v jaké roli může pomoci? Následující výčet jistě není úplný, spíše se snaží ilustrovat některé možnosti na příkladech. Enterprise Data Warehouse s nízkým rozpočtem Organisace patří mezi ty relativně menší, má omezený rozpočet na IT, ale chce také analyzovat svůj business, jako její větší konkurenti. Zde může pomoci především ekonomická stránka technologie. Vertikální ukládání dat je levnější alternativou k tradičnímu řešení (které sestává z drahého a málo flexibilního datového úložiště a výkonného analytického systému). Náklady na správu dat budou velmi pravděpodobně několikrát nižší a pro dotazování je možné použít kterýkoliv z levných a jednoduchých dotazovacích nástrojů (včetně dynamického připojení přímo z tabulkových kalkulátorů jako např. MS Excel). Flexibilita a výkon vertikálního datového stroje umožní velmi rychle realizovat i docela složité dotazy. Projekt, ve kterém se hraje o čas Universalita datových struktur umožňuje nasadit technologii vertikálního ukládání dat i v situacích, kdy nejsou čas, prostředky ani vůle na dlouhou a perfektní analýzu požadavků a vstupních dat, jejich optimalisaci a přizpůsobení konkrétní aplikaci. Např. Rozsáhlá marketingová kampaň, která trvá několik měsíců, rozhodnutí o její realisaci a vlastní příprava se musí stihnout během několika týdnů. Přitom výsledky je třeba zpracovávat už v jejím průběhu a mít je k disposici okamžitě. Vývoj musí ve skutečnosti probíhat v podstatě nad živými daty. Tato situace je příkladem požadavku na rychlou mobilisaci dat a technologie vertikálního ukládání je pro ni velmi vhodná jednak svou nezávislostí na databázových schématech, ale hlavně možností snadných změn v již používaných strukturách. Analýzy jsou on-line přístupné z webu ale i v jiných prostředích, kdy nelze předem s jistotou určit kolik uživatelů a jaké dotazy bude klást. Dnes existují instituce, které se prodejem informací přes web živí. Pokud jde o aktuální informace analytického charakteru, které musí být k disposici on-line, může představovat datový engine úzké místo celého podnikového businessu. Obecně jsou všechny aplikace datových skladů a business inteligence, se kterými současně pracuje větší počet uživatelů, prostředím, kde může mít vertikální ukládání dat velmi viditelné přínosy. Akcelerátor analytických dotazů Existující databáze centrálního datového skladu je již několik let v provozu a rozsah dat a počet uživatelů dosáhl velikosti, kterou stávající řešení „neutáhne“. Uvažuje se o rozšíření nebo náhradě 308
SYSTEMS INTEGRATION 2004
VERTIKÁLNÍ UKLÁDÁNÍ DAT
systému. Přitom do stávající architektury již bylo investováno mnoho peněz a práce a zásadní změna technologie není žádoucí. Její rozšíření však znamená posílení hardware, jež svými finančními nároky přesahuje původní představy. Zde se nabízí nasadit technologii vertikálního ukládání dat do stávající softwarové architektury. Centrální datový sklad bude nadále plnit většinu svých rolí centrálního datového úložiště, vlastní dotazovací zátěž však převezme akcelerátor – engine využívající vertikální ukládání dat. Důležité je, že pro jeho uplatnění není třeba v podstatě vůbec měnit stávající architekturu řešení. Interaktivní archiv Nemusí se vždy jednat o v pravém smyslu analytickou aplikaci. V některých případech může být rozhodujícím kriteriem pro výběr technologii požadavek na maximální úspornost při ukládání dat. „Ostatní“ Kromě výše vyjmenovaných případů samozřejmě platí, že pro nasazení technologie vertikálního ukládání dat je vhodná ve všech „standardních“ situacích, kde se data převážně čtou a analyzují, tedy jako centrální datový sklad či datamarty.
9 Jak je to v praxi Komerčně dostupným řešením je v dnešní době produkt Sybase IQ od společnosti Sybase, který byl celosvětově nasazen v několika stovkách případů a má své zákazníky i u nás (podrobnější informace o produktu jsou na http://www.sybase.cz/prod/dbase/asiq_index.html). Mezi nejzajímavější patří např. jeho nasazení v rámci řešení společnosti Nielsen Media Reasearch, největší organisací zabývající se sledovaností televizních programů (podrobné informace o tomto řešení lze nalézt například na http://www.sybase.com/detail?id=1025979). Architektura vertikálního ukládání dat není nová. Teoretiícky byla popsána již v 70. letech a také komerční řešení, které ji využívá je na trhu už několik (8) let.V současné době je však růst počtu elektronicky zpracovávaných informací a v návaznosti na to růst velikosti zpracovávaných dat akcelerován tak, jak tomu zatím nikdy nebylo, a proto je možnost využití alternativních technologií pro hromadné zpracování dat opět na pořadu dne. Napovídá tomu i hodnocení organisací, zabývajících se výzkumy v oblasti ukládání dat a velmi velkých databází (Winter Corporation, Bloor Research). Podle analýzy Bloor Reserach „lze předpovídat, že sloupcově orientované relační databáze (CRBD) budou pro tuto dekádu tím, čím byl OLAP pro 90. léta.
SYSTEMS INTEGRATION 2004
309