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 vrecku0:00 / 8:52
0:001:00 zostáva
MichalKeď 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.
TerezaPresne 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?
Kapitoly

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!