Vertikální ukládání dat

V případě vertikálního ukládání dat jde o velmi moderní technologický koncept, který už v praxi mnohokrát prokáz...


V případě vertikálního ukládání dat jde o velmi moderní technologický koncept,
který už v praxi mnohokrát prokázal své přínosy. Důvody pro implementaci tohoto
algoritmu jsou zejména efektivní hromadné zpracování dat, významná redukce
diskového prostoru pro uložení dat v datovém skladu a úspora nákladů na
realizaci a údržbu datového skladu.
Základní principy
Relační databázové systémy v současnosti představují pro podnikové aplikace
klasické řešení. 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 (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á
extenzivní 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.
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ší organizace s omezenou možností
investic, může být vertikální ukládání dat. Základní princip je velmi
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 výhod:
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ž
dramaticky (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. 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 také 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í.
Používaná technologie
Přehození řádků a sloupců v tabulkách (v maticích) je jednoduchou operací,
matematicky snadno realizovatelnou. Technologická implementace v databázovém
kontextu ale už tak jednoduchá není, protože se fakticky pracuje pořád se
stejnými objekty (výskyty entit), 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říklad 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é.
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
dokonce i o logické typy (například adresa, věk, peněžní částka apod.).
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 reprezentují různé přístupové
metody.
Výhody řešení
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 uvedeno výše, uplatnění nalézá zejména tam, kde se načítají 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 vážně se uvažuje o business intelligence,
on-line analytickém zpracování, dolování dat apod. Jaké výhody může nasazení
technologie, využívající vertikálního ukládání 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é.
Mezi funkčně technologické výhody patří:
n Rychlost. Na první pohled zaujme rychlost systému s aplikovaným vertikálním
ukládáním dat. Odezvy na dotazy jsou nad identickými daty na stejném hardwaru
několikanásobně (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í filozofií čtení pouze
potřebných dat a jednak jejich vysokou kompresí. Mluvíme-li o vysoké rychlosti,
máme většinou na mysli rychlost vyřizování dotazů stejně příznivé parametry
však má i nahrávání (load) dat.
n 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,
je velmi malý, maximálně deset, a to i při nasazení velmi výkonného hardwaru).
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 jen mírně a hlavně lineárně systém je tedy schopen
efektivně obsloužit tisíce až desetitisíce současných uživatelů.
n 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 tehdy, 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 ve 3.
normální formě, ve hvězdicových i vločkových schématech či jejich variantách,
ale umožňuje využít i modernější modely, jako například 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í.
n Jednoduchá implementace a správa. Přestože jde o netradiční technologii
ukládání dat, nevyžaduje její zvládnutí 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ší.
Ekonomické přínosy
n 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ý hardware, který bývá levnější
(relativně rozsáhlý datový sklad je možno provozovat na platformě Intel s
operačním systémem Windows NT nebo Linux). n Provozní náklady a TCO. Při
současné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 bude příslušné úložné ř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 i s počty uživatelů. Pro
vertikální ukládání dat jsou obě tyto funkce lineární, náklady jsou tedy nižší
a také 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
"optimalizací" laděním, indexováním, repartitioningem atd., která u tradičních
systémů představuje nikdy nekončící proces vylepšování systému pro nové dotazy,
pro nová data a pro nové uživatele a jež je s použitím technologie vertikálního
ukládání zredukována na minimum. Praktická realizace
Architektura vertikálního ukládání dat není nová. Teoreticky byla popsána již v
70. letech minulého
století a také komerční řešení, která ji využívají, jsou na trhu už téměř 10
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 takovým
způsobem, jak tomu zatím nikdy nebylo, a proto je možnost využití
alternativních technologií pro hromadné zpracování dat takzvaně na pořadu dne.
Napovídá tomu i hodnocení organizací zabývajících se výzkumy v oblasti ukládání
dat a velmi velkých databází (Winter Corporation, Bloor Research). Například
podle analýzy firmy Bloor Reserach lze předpovídat, že sloupcově orientované
relační databáze (CRDB) budou pro tuto dekádu tím, čím byl OLAP pro 90. léta.
Autor pracuje ve společnosti Sybase Software na pozici konzultanta řešení
datových skladů a Business Intellingence.(pal) 6 0967









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.