Statistika o d∙chodech na nßÜ warehouse
Vytvo°enφ datovΘho skladu v projektu Statistika d∙chod∙ ╚SSZ
Pojem DataWarehouse se stal souΦßstφ slovnφku ka₧dΘho pracovnφka v oblasti informaΦnφch technologiφ. RozÜi°te sv∙j slovnφk o pojem KMX Warehouse⌐ verze 2.0.
V roce 1996 se ╚eskß sprßva socißlnφho zabezpeΦenφ (╚SSZ) rozhodla inovovat dosavadnφ statistick² systΘm v oblasti d∙chodov²ch dßvek. ┌vodnφ studie formulovala nßsledujφcφ cφle:
- sjednotit ulo₧enφ dat o d∙chodech ve statistickΘ databßzi, kterß bude slou₧it jako zßkladnφ zdroj dat pro jejich zobrazenφ a dalÜφ zpracovßnφ r∙zn²mi sw-nßstroji,
- zajistit dynamick² p°φstup k dat∙m nejen pro standardnφ statistickΘ v²stupy (roΦenka), ale i pro u₧ivatelsky definovanΘ v²stupy z pr∙b∞₧n∞ vznikajφcφch statistick²ch Üet°enφ,
- poskytnout koncov²m u₧ivatel∙m interaktivnφ dotazovacφ systΘm nad datov²m skladem,
- propojit statistickou databßzi s nßstrojem (statistickou nadstavbou) umo₧≥ujφcφm vyu₧itφ statistick²ch metod, zejmΘna pro anal²zu Φasov²ch °ad a modelovßnφ relacφ mezi prom∞nn²mi.
V rßmci projektu byla realizacφ pov∞°ena spoleΦnost Komix, kterß mß s tvorbou datov²ch sklad∙ znaΦnΘ zkuÜenosti. SpoleΦnost ji₧ n∞kolik let vyvφjφ vlastnφ systΘm KMX Warehouse⌐. Od roku 1993 je tento systΘm provozovßn na Generßlnφm °editelstvφm cel. KMX Warehouse⌐ umo₧≥uje vytvo°enφ a sprßvu datovΘho skladu, kter² poskytuje u₧ivatel∙m slu₧by pro realizaci analytickΘho zpracovßnφ dat (tzv. OLAP). Vzhledem k tomu, ₧e systΘm je otev°en², lze jej upravit pot°ebßm konkrΘtnφho zßkaznφka.
Projekt Statistika d∙chod∙ ╚SSZ je realizovßn v systΘmu KMX Warehouse⌐ verze 2.0. V tΘto verzi systΘmu je pou₧ita t°φ·rov≥ovß architektura, separujφcφ vlastnφ datov² sklad, logickou a prezentaΦnφ vrstvu aplikace. Datov² sklad je vybudovßn v databßzi Informix, logika aplikace je skryta v aplikaΦnφm serveru naprogramovanΘm v jazyce C na UNIXu. Pro zadßvßnφ dotaz∙ je vytvo°ena klientskß aplikace programovanß v jazyce C++ pro prost°edφ MS Win 32 (Windows 95 nebo Windows NT). Pro prezentaci v²sledk∙ je pou₧it tabulkov² kalkulßtor MS Excel.
Datov² sklad je spravovßn databßzov²m serverem Informix OnLine DS 7.24 v prost°edφ operaΦnφho systΘmu HP-UX na poΦφtaΦi HP 9000. Databßze obsahuje primßrnφ data (data o d∙chodech, vΦetn∞ jejich kompletnφ historie), slovnφk informacφ (metadata datovΘho skladu), tabulky dimenzφ a fakt∙ a v²sledkovΘ tabulky.
SystΘm je rozΦlen∞n na subsystΘmy pro import dat, agregaci dat, dotazovacφ server a prezentaΦnφ vrstvu.
SubsystΘm pro import dat zajiÜ¥uje vstup dat do systΘmu. Zdrojem informacφ pro datov² sklad jsou "styΦnΘ soubory" vytvß°enΘ z dat provoznφho systΘmu ╚SSZ. SubsystΘm vÜak zajiÜ¥uje vstup dat takΘ z jin²ch zdroj∙ (demografickΘ a makroekonomickΘ ·daje, apod.).
V pr∙b∞hu importu styΦn²ch soubor∙ je provedena aktualizace primßrnφch dat datovΘho skladu. P°i aktualizaci dochßzφ k transformaci dat do relaΦnφ podoby a jejich typovΘ a logickΘ kontrole. Do databßze byly p°eneseny statistickΘ ukazatele 2,5 mil. d∙chodc∙ a 3 mil. vyplßcen²ch d∙chod∙. Dφky "ortodoxn∞ relaΦnφmu" ulo₧enφ primßrnφch dat nep°esßhla velikost databßze 4 GB.
Podpora importu heterogennφch dat z r∙zn²ch zdroj∙ rozÜi°uje mo₧nost pou₧itφ subsystΘmu.
SubsystΘm pro agregaci dat zajiÜ¥uje p°edzpracovßnφ dat do podoby, kterß umo₧≥uje efektivnφ anal²zu statistick²ch dat "na poΦkßnφ". Agregovanß data ve form∞ "multidimenzionßlnφch kostek" jsou uklßdßna do tabulek v relaΦnφm databßzovΘm systΘmu Informix. Data jsou ulo₧ena v nenormalizovanΘm tvaru s r∙zn²m stupn∞m agregace. UvedenΘ ulo₧enφ dat umo₧≥uje zφskat v krßtkΘ dob∞ odpov∞di na dotazy, kterΘ nenφ mo₧nΘ p°edem p°ipravit, ale kterΘ mohou podporovat r∙znß pr∙b∞₧n∞ vznikajφcφ statistickß Üet°enφ.
Budovßnφ datovΘho skladu je zalo₧eno na vytvo°enφ definic dimenzφ a tabulek fakt∙ ulo₧en²ch ve slovnφku informacφ. Administrace datovΘho skladu p°edstavuje sprßvu t∞chto definic. Administrßtor m∙₧e pr∙b∞₧n∞ optimalizovat budovßnφ datovΘho skladu; optimalizace spoΦφvß v hledßnφ vhodnΘho pom∞ru mezi rychlostφ zφskßvßnφ po₧adovan²ch anal²z a objemem a dobou vytvß°enφ agregovan²ch dat.
Budovßnφ dimenzφ datovΘho skladu mß jeden specifick² rys. Z jednoho prototypu dimenze lze v pr∙b∞hu Φasu vytvo°it vφce otisk∙ s r∙zn²mi mno₧inami hodnot dimenze, p°iΦem₧ platnost ka₧dΘho otisku je Φasov∞ omezena. U ka₧dΘho po₧adavku na data v datovΘm skladu je uveden ·hel pohledu (Φasov² okam₧ik °ezu dimenzφ). Podle jeho hodnoty je p°i zpracovßnφ po₧adavku automaticky vybrßn p°φsluÜn² otisk. U₧ivateli, pokud pou₧φvß r∙znΘ ·hly pohledu, se dimenze jevφ dynamickß.
Pou₧itφ dynamick²ch dimenzφ v²razn∞ rozÜi°uje mo₧nosti u₧ivatel∙ systΘmu. V²hoda se projevφ p°edevÜφm tehdy, pokud se v datovΘm skladu pou₧φvajφ dimenze s Φasto se m∞nφcφmi hodnotami.
Dotazovacφ server zpracovßvß po₧adavky klientskΘ aplikace. Podle typu po₧adavku server provede nap°. ulo₧enφ specifikace dotazu do slovnφku informacφ, spuÜt∞nφ dotazu nebo p°edßnφ v²sledk∙ zpracovanΘho dotazu klientskΘ aplikaci.
P°i realizaci po₧adavku na spuÜt∞nφ dotazu provßdφ dotazovacφ server anal²zu definice dotazu, na jejφm₧ zßklad∞ je proveden v²b∞r zdrojov²ch tabulek a sestaven SQL-p°φkaz pro databßzov² server. V²b∞r zdrojov²ch tabulek fakt∙ probφhß ve t°ech fßzφch: v²b∞r vhodn²ch statistick²ch prostor∙, v²b∞r vyhovujφcφch tabulek fakt∙ ze skeletu statistickΘho prostoru a zvolenφ optimßlnφ tabulky fakt∙.
V²b∞r vhodn²ch statistick²ch prostor∙ probφhß podle zvolen²ch parametr∙ statistiky (druh statistiky, ·hel pohledu, atd.). P°i v²b∞ru vyhovujφcφch tabulek se hledajφ tabulky ve skeletu prostoru, kterΘ obsahujφ vÜechny dimenze v po₧adovan²ch (nebo podrobn∞jÜφch) stupnφch agregace. Poslednφ krok, optimalizace v²b∞ru zdrojovΘ tabulky ze skeletu prostoru, je °eÜen pomocφ optimalizaΦnφho algoritmu zalo₧enΘho na hledßnφ minimßlnφ vzdßlenosti ve specißlnφ metrice statistick²ch prostor∙.
Pou₧itφ dotazovacφho serveru v architektu°e klient-server vede k minimalizaci komunikace a k minimalizaci nßrok∙ na hardware a operaΦnφ systΘm klientskΘho poΦφtaΦe.
SubsystΘm pro prezentaci dat umo₧≥uje u₧ivateli vytvß°et statistickΘ p°ehledy, a¥ ji₧ standardnφ statistickΘ v²stupy (statistickß roΦenka), nebo v²stupy z pr∙b∞₧n∞ vznikajφcφch statistick²ch Üet°enφ ("ad hoc" dotazy). U₧ivatel po₧adavky specifikuje pomocφ dotaz∙. Po dokonΦenφ specifikace (provedenφ v²b∞ru po₧adovan²ch dimenzφ a fakt∙, zadßnφ filtraΦnφch podmφnek, podmφnek pro °azenφ, atd.) je dotaz p°edßn dotazovacφmu serveru ke zpracovßnφ. Dotaz je mo₧nΘ spustit v re₧imu OFF LINE (dotaz je za°azen do fronty dotaz∙), nebo v re₧imu ON LINE (zpracovßnφ dotazu vÜak nesmφ p°ekroΦit dobu 2 minut, po tΘto dob∞ je dotaz automaticky p°eveden do re₧imu OFF LINE).
U₧ivatelskΘ rozhranφ je navr₧eno tak, aby bylo pro koncovΘho u₧ivatele snadno ovladatelnΘ a zakr²valo veÜkerou slo₧itost dotazovacφho serveru. Pro specifikaci dotazu nenφ pot°ebnß znalost SQL-p°φkaz∙! P°evedenφ definice dotazu do SQL-p°φkaz∙ je provedeno a₧ na ·rovni dotazovacφho serveru.
P°i prezentaci jsou v²sledky zpracovan²ch dotaz∙ formßtovßny a zobrazeny v tabulkovΘm kalkulßtoru MS Excel v kontingenΦnφm nebo relaΦnφm tvaru.
Pou₧itφ kombinovanΘho zpracovßnφ dotaz∙ (re₧imy ON LINE a OFF LINE) pat°φ k pozitivnφm rys∙m systΘmu. U₧ivatel nemusφ mφt strach, ₧e v p°φpad∞ nevhodn∞ polo₧enΘho dotazu v ON LINE-re₧imu na dlouhΘ minuty zablokuje sv∙j poΦφtaΦ. Bu∩ se dotaz vyhodnotφ do 2 minut, nebo se zpracovßnφ dotazu automaticky p°eruÜφ a dotaz se za°adφ do fronty dotaz∙ - tφm se aplikace uvolnφ pro dalÜφ prßci.
Vzhledem k pozitivnφm rys∙m KMX Warehouse⌐ verze 2.0 jsme p°esv∞dΦeni, ₧e se systΘm stane oblφben²m nejen v ╚SSZ, ale i u dalÜφch zßkaznφk∙.
SlovnφΦek pojm∙ |
Dimenze je pohled na data v datovΘm skladu podle urΦitΘho hlediska. Typick²mi dimenzemi jsou nap°. obdobφ vzniku, pohlavφ, ·zemnφ jednotky. Kombinacφ n pohled∙ na data vznikß "n-dimenzionßlnφ kostka" (odtud nßzev dimenze). Dimenze je slo₧ena ze stup≥∙ dimenze, mezi kter²mi je definovßna urΦitß hierarchie. Hierarchie dimenze m∙₧e b²t jednoduchß (·zemφ - okres, kraj, republika), nebo stromovß (invalidizace - diagn≤zy, skupiny diagn≤z podle WHO, skupiny diagn≤z podle Ministerstva prßce a socißlnφch v∞cφ).
Tabulka fakt∙ je reprezentacφ "multidimenzionßlnφ kostky" v relaΦnφm databßzovΘm systΘmu. Jeliko₧ tabulka fakt∙ p°edstavuje spojenφ statistick²ch fakt∙ s dimenzemi, jsou °ßdky tabulky fakt∙ tvo°eny: a) kombinacφ hodnot atribut∙ odpovφdajφcφch dimenzφ,
b) hodnotami fakt∙ pro danou kombinaci hodnot atribut∙ dimenzφ.
Hierarchie dimenze ukazuje mo₧nosti agregace fakt∙ (tj. mo₧nosti vytvß°enφ r∙zn∞ agregovan²ch tabulek fakt∙). Tabulka fakt∙, kterß byla vytvo°ena s pou₧itφm nejni₧Üφch stup≥∙ dimenzφ, se naz²vß atomickß tabulka fakt∙, ostatnφ tabulky naz²vßme agregovanΘ tabulky fakt∙.
Statistick² prostor: atomickß tabulka fakt∙ a vÜechny agregovanΘ tabulky fakt∙, kterΘ lze z atomickΘ tabulky fakt∙ odvodit, tvo°φ statistick² prostor. Statistick² prostor je urΦen druhem statistiky, ·hlem pohledu a Φasov²m obdobφm. Pro ka₧d² druh statistiky (statistika nov∞ vznikl²ch d∙chod∙, statistika zanikl²ch d∙chod∙ atd.) je definovßn prototyp atomickΘ tabulky fakt∙. ┌hel pohledu urΦuje Φasov² okam₧ik °ezu dimenzemi. ╚asovΘ obdobφ urΦuje Φasov² rozsah dat ve statistickΘm prostoru. Seznam skuteΦn∞ vytvß°en²ch tabulek fakt∙ (obsahujφcφ atomickou tabulku fakt∙ a vybranΘ agregovanΘ tabulky) tvo°φ skelet statistickΘho prostoru.
|
Petr Stupka, stupka@komix.cz
|