Ahojte študenti! V dnešnom článku sa ponoríme do fascinujúceho sveta informačných systémov a databáz. Prejdeme si kľúčové koncepcie, ktoré formovali vývoj spracovania dát vo veľkých organizáciách. Zameriame sa na Hierarchické a Distribuované Informačné Systémy a Databázy, ako aj na základné princípy návrhu a migrácie databáz, a tiež na typy terminálov. Pripravte sa na komplexný prehľad, ktorý vám pomôže nielen pri štúdiu, ale aj pri pochopení moderných IT štruktúr.
Porovnanie Hierarchických a Distribuovaných Informačných Systémov
Poďme sa pozrieť na dva základné prístupy k správe informácií v organizáciách: hierarchické a distribuované systémy.
Hierarchické Informačné Systémy (HIS) a ich charakteristika
HIS (často označované aj ako Hierarchical Information System) boli vyvinuté v 60. – 70. rokoch 20. storočia. Vznikli z potreby systematicky riadiť informačné toky vo veľkých korporáciách. Základná myšlienka spočíva v tom, že informačný systém by mal odrážať hierarchickú štruktúru samotnej organizácie. V tomto období dominovala firma IBM.
Kľúčové charakteristiky konceptu HIS zahŕňajú:
- Vertikálna štruktúra: Informácie prúdia nahor (reporting) a nadol (príkazy/inštrukcie).
- Oddelenie úrovní riadenia: Každá vrstva rieši iný typ rozhodnutí.
- Centralizované spracovanie: Historicky sa celá organizácia spoliehala na jednu sálovú výpočtovú techniku.
Bloková schéma HIS (na báze terminál-host):
- HOST (centrálny počítač): Obsahuje RAM s kľúčovými komponentmi ako SRBD (Systém Riadenia Bázy Dát) a aplikačné programy. Operačný systém počítača tvorí základ celého spracovania. K hostu sú pripojené I/O zariadenia (diskové polia, tlačiareň, mikroprocesory μP).
- CUCN (Front-end): Komunikačný uzol, ktorý sprostredkováva spojenie medzi mainframom a terminálmi. Riadi sieťovú komunikáciu a odľahčuje hlavný procesor.
- TERMINÁL: Pasívne zariadenie (monitor + klávesnica), ktoré nevykonáva žiadnu logiku samo. Používateľ sa prihlasuje a pracuje výhradne so zdrojmi HOSTa.
Mainframe je veľký, výkonný centrálny počítač určený na spracovanie obrovského množstva dát a obsluhu mnohých používateľov súčasne. Dokáže obsluhovať tisíce terminálov bez spomalenia a je navrhnutý na prevádzku 24/7, prakticky bez výpadkov.
Dôraz je v HIS kladený na centrálny uzol s celkovou inteligenciou IS. Koncovým zariadením používateľa je neinteligentný terminál, ktorý zabezpečuje len zadávanie vstupov a príjem výstupov.
Distribuované Informačné Systémy (DIS) a ich princípy
DIS vznikli v 80. – 90. rokoch s nástupom lacnejších osobných počítačov a sietí. Základná myšlienka je opačná ako pri HIS – výpočtová sila je rozdelená medzi viacero uzlov, pričom každý uzol môže vykonávať časť spracovania samostatne.
Kľúčové princípy DIS:
- Decentralizácia: Žiadny jediný bod zlyhania, odolnejší systém.
- Autonómia uzlov: Každý počítač má vlastný procesor, pamäť a prípadne lokálnu databázu.
- Spolupráca: Uzly si vymieňajú dáta cez sieť, čo umožňuje spoločné spracovanie.
- Transparentnosť: Používateľ nevidí, kde fyzicky dáta sú alebo kde sa spracúvajú.
Bloková schéma DIS (PC1, PC2, servery...):
Servery sú rozdelené do skupín podľa služieb, ktoré poskytujú:
- Kľúčové servery: Zabezpečujú základné a nevyhnutné služby pre beh siete (napr. DNS, DHCP).
- Doplnkové servery: Poskytujú doplnkové služby (napr. Print server, NTP).
Používané architektúry v DIS sú:
- Terminal-Host
- Klient-Fileserver
- Klient-Server (najčastejšie uplatnenie v moderných DIS)
- NCC (Network Centric Computing)
Uzly DIS:
- Servery: Programové entity poskytujúce vybrané služby.
- Klienti: Programové entity využívajúce služby serverov – koncové zariadenia.
Typy uplatnenia funkcií serverov a klientov:
- Dedicated: Funkcie serverov sú implementované na špecializovaných uzloch DIS.
- Peer-to-peer: Funkcie servera sú podporované na ktoromkoľvek uzle DIS.
Architektúry DIS podľa spôsobu spracovania funkcií:
- Spracovanie úloh na strane servera.
- Spracovanie úloh na strane klienta.
- Spracovanie úloh na strane klienta aj servera.
Typy serverov podľa funkcií:
- Nosné servery (zabezpečujú vlastný chod IS):
- Súborové: Prístup k údajom prostredníctvom systému súborov a adresárov, zabezpečujú čítanie a zápis, kontrolu prístupových práv.
- Databázové: Pracujú na úrovni SRBD, implementujú základné databázové operácie, vykonávajú spracovanie databázy. Klient formuluje požiadavky (napr. SQL), server ich vykoná a pošle výsledok.
- Prezentačné: Formátujú výstupy pre aplikácie, riadia spôsob zobrazovania prostredníctvom GUI.
- Aplikačné.
- Pomocné servery (podpora činnosti IS):
- Tlačové
- Komunikačné
Upsizing, Downsizing a Rightsizing v kontexte DIS
Tieto pojmy popisujú trendy a stratégie v modernizácii a optimalizácii informačných systémov:
- UPSIZING: Zvyšovanie celkového výkonu v rámci DIS tak, aby systém vyhovoval požiadavkám kooperatívneho spracovania a zároveň dosahoval výkon porovnateľný s tradičnými Mainframe a HIS systémami.
- DOWNSIZING: Riadený proces transformácie hardvéru IS zo sálových systémov typu Mainframe na počítače strednej triedy (middware) a systémy založené na architektúre PC. Predpokladá presun časti spracovania na stranu koncového uzla (klienta) a distribúciu dát a aplikácií na rôzne počítače IS.
- RIGHTSIZING: Cieľovo riadený prechod od centralizovaného spracovania k systémovej architektúre s heterogénnymi a distribuovanými systémovými komponentmi (softvér, hardvér, LAN/WAN). Cieľom je vytvoriť pružne modifikovateľný, komunikačne zameraný DIS, ktorý vyhovuje súčasným nárokom. Tento trend predpokladá použitie počítačov všetkých výkonnostných tried (sálové, stredné, desktop), kooperatívne spolupracujúcich v rámci modelu klient–server.
Návrh a migrácia databáz: Kľúčové kroky
Úspešná databáza začína kvalitným návrhom a jej život často zahŕňa aj migrácie. Poďme sa pozrieť na tieto dôležité procesy.
Trojúrovňová architektúra databázy: Externá, Konceptuálna, Interná
Trojúrovňová architektúra databázy je štandardný model, ktorý pomáha oddeliť logickú štruktúru dát od ich fyzickej reprezentácie a používateľského pohľadu. Zvyšuje flexibilitu a nezávislosť aplikácií od uloženia dát.
- Interná úroveň: Zaoberá sa problematikou fyzickej pamäťovej štruktúry uloženia dát. Využíva funkcie konkrétneho operačného systému (OS) a definuje, ako sú dáta skutočne uložené na disku.
- Konceptuálna úroveň: Reprezentuje celý informačný obsah databázy nezávisle od fyzického riešenia. Je realizovaná konceptuálnou schémou, často pomocou entitno-relačných diagramov (ERD). Definuje entity, ich atribúty a vzťahy medzi nimi.
- Externá úroveň: Predstavuje externý pohľad na dáta pre jednotlivých používateľov, zohľadňujúc ich špecifické potreby a požiadavky. Je definovaná externou schémou. Vzťahy medzi objektami sa deklarujú pomocou DDL (Data Definition Language) a DML (Data Manipulation Language).
Postup vytvorenia databázy (AKLFINOP)
Pre vytvorenie robustnej a funkčnej databázy je dôležité dodržať systematický postup. Tu je osem základných krokov, ktoré by mala poznať každá databázová maturita:
- Analýza požiadaviek užívateľov: Je nevyhnutné rozmyslieť si a zistiť, aké funkcie bude web alebo aplikácia poskytovať a aké dáta bude potrebovať.
- Návrh konceptuálnej schémy databázy: Prvotný návrh toho, ako by mohla databáza vyzerať (entity, vzťahy).
- Návrh logickej štruktúry databázy: Vychádza z konceptuálnej schémy a definuje tabuľky, stĺpce, dátové typy a vzťahy (napríklad pomocou ERD diagramu).
- Návrh fyzického interného modelu databázy: Definuje, ako budú samotné tabuľky vyzerať, ako budú fungovať a kde budú uložené. Treba brať ohľad na nároky na pamäť a rýchlosť systému.
- Implementácia databázy: Samotná inštalácia databázového systému (DBMS) a definovanie tabuliek, ID, primary key, auto-increment, kódovania, dátových typov a obmedzení. Príklad vytvorenia databázy v SQL:
CREATE DATABASE moja_databaza CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;. - Prvotné naplnenie databázy: Môže byť realizované postupným napĺňaním prázdnej databázy, importovaním už existujúcich dát alebo špeciálnym zberom dát.
- Overenie funkcie databázy: Uistenie sa, že všetko funguje správne a že databáza bola navrhnutá podľa požiadaviek.
- Prevádzkovanie IS a jeho ďalší rozvoj: Sledovanie prípadných chýb a rozširovanie databázy na základe nových požiadaviek užívateľov.
Migrácia dát: Prenos údajov medzi databázami
Migrácia dát je proces prenosu údajov zo starej databázy do novej. Je to komplexný proces, ktorý sa zvyčajne delí do niekoľkých fáz.
Fázy migrácie dát:
- Fáza 1 – Analýza a mapovanie: Porovnanie schém starej a novej databázy. Vytvorenie mapovacích pravidiel (ktorý stĺpec kam ide, aké transformácie sú potrebné).
- Fáza 2 – ETL proces:
[Stará DB] → Extract → Transform → Load → [Nová DB]
- Extract: Vytiahnutie dát zo zdroja (SQL dump, CSV export, API).
- Transform: Čistenie, konverzia dátových typov, normalizácia.
- Load: Vloženie do novej štruktúry.
- Fáza 3 – Spôsoby prenosu (využívané metódy):
- SQL dump:
mysqldump/pg_dumpa následný import. Vhodné pre rovnaký DBMS a menšie databázy. - INSERT SELECT:
INSERT INTO nová SELECT... FROM stará. Vhodné v rámci jedného servera. - ETL nástroj: Použitie špecializovaných nástrojov ako Talend, Pentaho, AWS Glue pre veľké a zložité migrácie.
- Replikácia: Kontinuálny prenos zmien (CDC). Ideálne pre živé systémy bez výpadku.
- CSV/JSON export: Export dát, transformácia a následný import. Vhodné pre rôzne DBMS.
Dôležité princípy pri migrácii:
- Záloha: Vždy zálohovať pred migráciou.
- Testovanie: Migrácia najprv na testovacom prostredí.
- Validácia: Porovnanie počtov záznamov, kontrola integrity dát.
- Transakcie: Migrácia v transakciách pre možnosť
rollbackpri chybe. - Výpadok vs. zero-downtime: Pri živých systémoch sa používa postupná migrácia s replikáciou.
Typy migrácií podľa scenára:
- Scenár 1 – Rovnaká štruktúra (1:1 kópia): Najjednoduchší prípad, priamy prenos bez transformácie. Používa sa pri presune na iný server, zálohe alebo zmene DBMS bez zmeny schémy.
INSERT INTO nova.pouzivatelia SELECT * FROM stara.pouzivatelia;- Scenár 2 – Zmenená štruktúra (najčastejší): Stará a nová DB majú inú štruktúru, vyžaduje mapovanie a transformáciu počas prenosu. Príklad: rozdelenie stĺpca 'meno' na 'meno' a 'priezvisko'.
INSERT INTO nova.pouzivatelia (meno, priezvisko, email) SELECT SUBSTRING_INDEX(meno, ' ', 1), SUBSTRING_INDEX(meno, ' ', -1), email FROM stara.pouzivatelia;- Scenár 3 – Rôzny počet tabuliek: Jedna stará tabuľka sa rozdelí na viac nových (denormalizácia → normalizácia) alebo viac starých sa zlúči do jednej. Príklad: rozdelenie tabuľky 'osoby' na 'zamestnanci' a 'klienti'.
INSERT INTO nova.zamestnanci (meno, oddelenie) SELECT meno, oddelenie FROM stara.osoby WHERE typ = 'zamestnanec';INSERT INTO nova.klienti (meno, firma) SELECT meno, firma FROM stara.osoby WHERE typ = 'klient';- Scenár 4 – Rôzne dátové typy: Stĺpec existuje v oboch, ale typ je iný. Vyžaduje konverziu dátových typov.
INSERT INTO nova.udalosti (nazov, datum) SELECT nazov, STR_TO_DATE(datum_text, '%Y-%m-%d') FROM stara.udalosti;
Kartičky
Ťukni na otočenie · Potiahni na navigáciu
Typy terminálov: Vstupno-výstupné zariadenia pre IS
Terminál je vstupno-výstupné zariadenie slúžiace na komunikáciu človeka s počítačom alebo počítačovou sieťou. Pozostáva zo vstupného zariadenia (napr. klávesnica) a výstupného zariadenia (napr. obrazovka alebo tlačiareň). Historicky sa používali ako vzdialené stanice pripojené k centrálnemu počítaču (mainframe), pričom samé o sebe nemali výpočtovú silu. Rozlišujeme niekoľko typov podľa funkcie a vlastností.
Dávkové terminály
Určené na hromadné spracovanie dát bez priamej interakcie používateľa. Dáta sa odovzdávajú v dávkach (batch), spracujú sa a výsledok sa vráti neskôr.
- Musia byť univerzálne – kompatibilné s rôznymi zariadeniami.
- Zabezpečený jednosmerný prenos (simplex).
- Dostatočná prenosová rýchlosť.
- Prítomnosť záznamových zariadení (napr. pásky, dierne štítky).
- Podporujú duplex aj poloduplex.
Konverzačné terminály
Umožňujú interaktívnu komunikáciu v reálnom čase – používateľ zadáva príkazy a okamžite dostáva odpoveď (režim otázka–odpoveď). Fungujú na spriahnutom režime, s ručným vstupom a človeku zrozumiteľným výstupom.
- Musia mať vyrovnávaciu pamäť (buffer).
- Vysoká prenosová rýchlosť.
- Vyžaduje sa poloduplexná prevádzka.
- Schopnosť pracovať podľa dopredu definovaného postupu.
- Schopnosť identifikovať dopredu dohodnuté znaky.
- Schopnosť vyslať svoju adresu na vyžiadanie.
- Schopnosť vyvolať prerušenie riadiacej alebo výpočtovej jednotky.
- Schopnosť rozlíšiť niekoľko povelov alebo inštrukcií od počítača.
- Samočinne zabezpečiť prenos.
- Schopnosť rozoznať svoju adresu od iných.
Programovateľné terminály
Terminály s vlastným procesorom a pamäťou, do ktorých je možné nahrať program. Dokážu vykonávať lokálne spracovanie dát bez neustálej komunikácie s centrálnym počítačom. Sú univerzálnejšie a znižujú zaťaženie centrálneho servera. Možno ich prispôsobiť konkrétnej aplikácii.
Grafické terminály
Zdokonalené programovateľné terminály, ktoré poskytujú grafické pracovné prostredie. Umožňujú zobrazovať nielen text, ale aj obrázky, diagramy a grafické rozhrania.
- Podpora grafického výstupu (pixelová grafika, vektorová grafika).
- Vyššie nároky na prenosovú rýchlosť a pamäť.
- Možnosť práce s grafickým používateľským rozhraním (GUI).
- Využívané v CAD/CAM systémoch, vedeckých aplikáciách a pracovných staniciach.
FAQ: Často kladené otázky študentov
Aký je hlavný rozdiel medzi HIS a DIS?
Hlavný rozdiel spočíva v centralizácii a decentralizácii. HIS sú centralizované, s jedným silným hostiteľom a pasívnymi terminálmi, kým DIS sú distribuované, s výpočtovou silou rozdelenou medzi autonómne uzly (klientov a servery), ktoré spolupracujú v sieti. DIS sa vyvinuli s nástupom lacnejších PC a sietí.
Čo sú to Upsizing, Downsizing a Rightsizing?
Upsizing je zvyšovanie výkonu DIS na úroveň Mainframe. Downsizing je presun hardvéru zo sálových systémov na strednú triedu a PC s distribúciou spracovania. Rightsizing je prechod na flexibilnú, distribuovanú architektúru s heterogénnymi komponentmi, ktorá optimalizuje výkon a náklady, pričom využíva počítače všetkých výkonnostných tried.
Prečo je dôležitá trojúrovňová architektúra databázy?
Trojúrovňová architektúra (interná, konceptuálna, externá) je dôležitá pre oddelenie rôznych aspektov databázy. Zabezpečuje nezávislosť aplikácií od fyzického uloženia dát a poskytuje flexibilné pohľady na dáta pre rôznych používateľov, čo zjednodušuje vývoj a údržbu systémov.
Aké sú hlavné fázy migrácie dát?
Hlavné fázy migrácie dát sú Analýza a mapovanie, ETL proces (Extract, Transform, Load) a samotný prenos dát pomocou rôznych metód, ako sú SQL dump, INSERT SELECT, ETL nástroje, replikácia alebo CSV/JSON export. Dôležité je tiež nezabudnúť na zálohovanie, testovanie a validáciu.
Ako súvisí klient-server architektúra s DIS?
Klient-server architektúra je jednou z najčastejšie používaných architektúr v distribuovaných informačných systémoch (DIS). V tomto modeli klient (koncové zariadenie) využíva služby poskytované serverom (uzol, ktorý služby zabezpečuje), čím sa výpočtová záťaž a spracovanie dát distribuuje medzi viacero uzlov v sieti.