Podcast o Informačné systémy a databázové architektúry
Informačné Systémy a Databázové Architektúry: Rozbor
Podcast
Informačné systémy: Od mainframov k sieti vo vašom vrecku
Délka: 8 minut
Kapitoly
Od terminálu k smartfónu
Hierarchické informačné systémy (HIS)
Revolúcia menom DIS
Klienti, servery a deľba práce
Upsizing a Rightsizing
Zlučovanie a konverzia dát
Návrh databázy od nuly
Čo je to terminál?
Dávkové a konverzačné
Inteligentné terminály
Zhrnutie a záver
Přepis
Michal: Keď dnes otvoríš bankovú aplikáciu, všetko sa udeje okamžite. Ale predstav si banku v sedemdesiatych rokoch. Na stoloch žiadne počítače, len papiere. A v jednej obrovskej, klimatizovanej miestnosti hučal jeden jediný počítač – mainframe, ktorý spracovával úplne všetko pre celú banku.
Tereza: Presne tak. A každý úradník mal na stole len obrazovku s klávesnicou, takzvaný terminál, ktorý bol v podstate len predĺženou rukou toho centrálneho monštra. Znie to ako sci-fi, však?
Michal: A pritom je to základ, z ktorého vychádza všetko, čo používame dnes. Práve o týchto konceptoch sa budeme rozprávať. Počúvate Studyfi Podcast.
Michal: Dobre, Tereza, poďme na ten centrálny mozog. Tento prístup sa volá Hierarchický informačný systém, alebo HIS. Prečo hierarchický?
Tereza: Pretože kopíroval štruktúru vtedajších firiem. Informácie tiekli zdola nahor – zamestnanci posielali reporty vedeniu. A príkazy tiekli zhora nadol. Všetko bolo prísne centralizované a riadené z jedného miesta, presne ako ten mainframe.
Michal: Takže ten hlavný počítač, volajme ho HOST, bol kráľom. Čo všetko v sebe mal?
Tereza: Mal operačný systém, programy a hlavne Systém Riadenia Bázy Dát, alebo SRBD. Všetky dáta a všetka logika boli uložené tam. K nemu boli pripojené disky, tlačiarne a samozrejme tie terminály pre používateľov.
Michal: A ten terminál bol vlastne, s prepáčením, úplne hlúpy, že?
Tereza: Absolútne. Bola to len obrazovka a klávesnica. Žiadny vlastný procesor, žiadna pamäť. Len si sa prihlásil a pracoval si priamo na zdrojoch toho vzdialeného HOSTa. Nemohol si si na ňom ani len nainštalovať hru.
Michal: To je pre dnešnú generáciu asi nepredstaviteľné.
Tereza: Presne. A potom v 80. a 90. rokoch prišla revolúcia. Osobné počítače a počítačové siete. Zrazu nebol dôvod mať všetku inteligenciu na jednom mieste.
Michal: A tu sa dostávame k Distribučným informačným systémom, teda DIS. Aký je tam hlavný rozdiel?
Tereza: Je to presný opak. Namiesto jedného supermozgu máme sieť viacerých inteligentných uzlov – počítačov. Každý má vlastný procesor, vlastnú pamäť a dokáže pracovať samostatne. Decentralizácia je kľúčové slovo.
Michal: Čiže keď vypadne jeden počítač, systém beží ďalej? To pri HIS asi neplatilo.
Tereza: Ani náhodou. Keď zlyhal mainframe, stála celá firma. V DIS sú uzly autonómne, ale zároveň spolupracujú a vymieňajú si dáta cez sieť. Pre používateľa je pritom úplne transparentné, kde sa jeho dáta fyzicky nachádzajú alebo spracúvajú.
Michal: Dobre, takže máme veľa počítačov v sieti. Ako si ale delia prácu? Kto je šéf?
Tereza: To je na tom to skvelé, používame architektúru klient-server. Predstav si klienta ako zákazníka v reštaurácii – to je tvoj počítač. A server je kuchár. Ty si objednáš jedlo – teda požiadaš o nejakú službu – a server ti ju pripraví a pošle naspäť.
Michal: Napríklad keď hľadám niečo na e-shope?
Tereza: Perfektný príklad! Tvoj počítač, klient, pošle požiadavku typu „nájdi mi červené tenisky veľkosti 43“ na databázový server. Server prehľadá databázu, nájde výsledky a pošle ti ich naspäť. Celé zložité vyhľadávanie urobí on, nie tvoj počítač.
Michal: Tým sa odľahčí môj počítač a všetko je rýchlejšie. A tých serverov je asi viac druhov, však?
Tereza: Áno, máme napríklad súborové servery na ukladanie súborov, databázové na prácu s dátami, alebo prezentačné, ktoré formátujú výstupy pre aplikácie. Sú to takí špecializovaní experti v sieti.
Michal: Takže ten prechod z jedného obrovského počítača na sieť mnohých menších bol obrovský skok. Má to nejaký odborný názov?
Tereza: Samozrejme. Ten cielený prechod z centralizovaného HIS na flexibilný distribuovaný DIS voláme rightsizing. Teda nájdenie „správnej veľkosti“ a architektúry pre potreby firmy.
Michal: A čo ak firme ten distribuovaný systém nestačí a potrebuje ešte väčší výkon, porovnateľný s tými starými mainframami?
Tereza: Tak vtedy hovoríme o termíne upsizing. To je zvyšovanie celkového výkonu v rámci DIS, aby systém zvládal aj tie najnáročnejšie úlohy, no stále si zachoval výhody distribuovanej architektúry. V podstate sa snažíme získať to najlepšie z oboch svetov.
Michal: Takže, presunuli sme dáta z jednej tabuľky do druhej... ale čo ak sa štruktúra úplne zmení? Napríklad, jedna stará tabuľka sa stane dvoma novými?
Tereza: Presne tak. To je super bežný scenár. Predstav si, že máš starú tabuľku "osoby", kde sú všetci zmiešaní – zamestnanci aj klienti.
Michal: Trochu chaotické.
Tereza: Úplne. Takže v tvojej novej, nablýskanej databáze by si chcel oddelené tabuľky: "zamestnanci" a "klienti". Použil by si príkaz INSERT INTO ... SELECT, ale pridal by si podmienku WHERE.
Michal: Čiže, INSERT INTO nova.zamestnanci ... SELECT ... FROM stara.osoby WHERE typ = 'zamestnanec'.
Tereza: Na chlp presne! A to isté by si urobil pre klientov. Je to ako triedenie bielizne... ale s SQL.
Michal: Dobre, to dáva zmysel. Ale čo ak je nesprávny *typ* dát? Povedzme, že dátum je uložený len ako text?
Tereza: Ďalší klasický problém! Stará databáza má dátum ako text, napríklad '2024-01-15', ale nová chce správny dátový typ DATE.
Michal: Takže ho nemôžeš len tak skopírovať.
Tereza: Správne. Musíš ho skonvertovať. SQL na to má funkcie, napríklad STR_TO_DATE. Povieš jej, ako je text naformátovaný, a ona ho premení na skutočný dátum.
Michal: Dobre, migrácia je jedna vec. Ale čo tvorba databázy od nuly? Zdá sa to byť zložité.
Tereza: Je to štruktúrovaný proces. Ber to ako stavbu domu. Nezačneš hneď klásť tehly. Najprv potrebuješ plán.
Michal: Výkres od architekta?
Tereza: Presne. Zanalyzuješ požiadavky, vytvoríš koncepčný návrh, potom detailný logický plán. Zadefinuješ si tabuľky, primárne kľúče, vzťahy a tak ďalej.
Michal: A až *potom* začneš kódiť?
Tereza: Áno! Potom prichádza implementácia, naplnenie dátami a testovanie. Je to celý životný cyklus. Kľúčové je: plánuj, predtým ako staviaš.
Michal: Takže dobrý plán zabráni budúcemu chaosu. Znie to ako základ pre všetko, čo s dátami interaguje... čo ma privádza k tomu, ako sa s počítačom vlastne *rozprávame*.
Tereza: Ah, myslíš terminály! To je klasický spôsob. Poďme sa teda pozrieť na to, čo to vlastne je a aké typy poznáme.
Michal: Takže to sme mali siete... a teraz sa pozrieme na úplný základ. Na niečo, čo tu bolo ešte pred osobnými počítačmi. Hovorím o termináloch.
Tereza: Presne tak, Michal. Je to posledná, ale dôležitá téma. Predstav si terminál ako jednoduché zariadenie na komunikáciu s hlavným počítačom. Má klávesnicu na vstup a obrazovku na výstup, ale sám o sebe nemá takmer žiadnu výpočtovú silu.
Michal: Čiže všetku prácu robil nejaký veľký server, mainframe?
Tereza: Áno. A prvé terminály boli takzvané dávkové. Poslal si mu balík dát, napríklad na diernych štítkoch, on to spracoval a o pár hodín vrátil výsledok. Žiadna interakcia.
Michal: Znie to... extrémne pomaly. Ako posielať list poštovým holubom a čakať na odpoveď.
Tereza: Presne! Preto vznikli konverzačné terminály. Tie už fungovali interaktívne, v reálnom čase. Napíšeš príkaz, hneď dostaneš odpoveď. To už vyžadovalo buffer, teda vyrovnávaciu pamäť, a rýchlejší prenos.
Michal: Dobre, a čo tie modernejšie? Určite sa to vyvíjalo ďalej.
Tereza: Samozrejme. Prišli programovateľné terminály. Tie už mali vlastný procesor a pamäť. To je kľúčové, pretože mohli časť práce urobiť lokálne a nezaťažovali toľko centrálny server. Boli oveľa univerzálnejšie.
Michal: A z nich sa potom vyvinuli tie grafické, predpokladám.
Tereza: Presne tak. Grafické terminály boli vlastne zdokonalené programovateľné, ktoré už vedeli zobrazovať obrázky a grafické rozhrania, nielen text. To bol základ pre systémy ako CAD a vlastne pre dnešné počítače, ako ich poznáme.
Michal: Takže, aby sme to zhrnuli. Od jednoduchých "hlúpych" terminálov, ktoré len posielali dáta, sme sa cez interaktívne konverzačné dostali až k programovateľným a grafickým, ktoré už mali vlastnú inteligenciu.
Tereza: Presne tak. Bol to postupný vývoj k dnešným osobným počítačom. Tak, a tým sme na konci nielen tejto témy, ale aj celej našej série.
Michal: Veru tak. Tereza, veľmi pekne ti ďakujem za všetky informácie. A vám, milí poslucháči, ďakujeme za pozornosť a dúfame, že ste sa veľa naučili. Majte sa pekne!
Tereza: Dopočutia!