Podcast o Hierarchické a Distribuované Informačné Systémy a Databázy

Hierarchické a Distribuované IS a Databázy: SEO rozbor

Podcast

Informačné systémy: Od pyramíd po siete0:00 / 11:44
0:001:00 zostáva
SimonaPredstav si obrovskú firmu, napríklad banku. Tisíce zamestnancov, oddelení, šéfov... Ako zabezpečiť, aby dôležitá informácia od riaditeľa prešla presne tou správnou cestou až dole? Za týmto zdanlivým chaosom je systém.
MichalA nie hocijaký! Volá sa hierarchický informačný systém. Vitajte v Studyfi Podcast.
Kapitoly

Informačné systémy: Od pyramíd po siete

Délka: 11 minut

Kapitoly

Systém za chaosom

Upsizing a Rightsizing

Centrálny mozog menom Mainframe

Revolúcia prichádza: Distribuované systémy

Klienti, serveri a ich spolupráca

Architektúra troch úrovní

Ako navrhnúť databázu

Veľké dátové sťahovanie

Štyri scenáre migrácie

Čo sú terminály?

Dávkové a konverzačné

Inteligentné terminály

Zhrnutie a záver

Přepis

Simona: Predstav si obrovskú firmu, napríklad banku. Tisíce zamestnancov, oddelení, šéfov... Ako zabezpečiť, aby dôležitá informácia od riaditeľa prešla presne tou správnou cestou až dole? Za týmto zdanlivým chaosom je systém.

Michal: A nie hocijaký! Volá sa hierarchický informačný systém. Vitajte v Studyfi Podcast.

Simona: Hierarchický? To znie ako niečo z dejepisu.

Michal: Trochu aj je! Vyvinuli ho v 60. rokoch v IBM. Predstav si firemnú pyramídu – systém ju presne kopíroval. Informácie tiekli zhora nadol, pekne po jednotlivých úrovniach.

Simona: Dobre, ale čo ak firme takýto prísny systém už nestačí a potrebuje väčší výkon alebo viac flexibility?

Michal: Na to slúži „upsizing“ – jednoducho sa zvýši celkový výkon. No skutočným trendom je „rightsizing“. To je prechod na flexibilný model klient-server, kde spolupracujú rôzne typy počítačov.

Simona: Takže od prísnej pyramídy k modernej sieti. A to všetko dnes vidíme cez grafické rozhranie, čiže GUI, a podporujú to rôzne servery, však?

Michal: Presne tak. Máš tam napríklad tlačové alebo komunikačné servery. Sú to takí neviditeľní pomocníci, ktorí zabezpečujú, aby všetko hladko bežalo.

Simona: Takže, keď už vieme, ako dáta tečú, poďme sa pozrieť na samotné mozgy, ktoré ich spracúvajú. Hovorili sme o starších systémoch. Ako to vtedy vyzeralo?

Michal: Jasné. Predstav si taký... informačný feudalizmus. Všetka moc a inteligencia bola sústredená na jednom mieste. Tomuto hovoríme Hierarchický Informačný Systém, alebo HIS.

Simona: Informačný feudalizmus? To sa mi páči. Takže jeden kráľ a všetci ostatní len počúvajú?

Michal: Presne tak. Tým kráľom bol obrovský centrálny počítač, takzvaný mainframe. Všetko sa dialo v ňom – mal operačný systém, programy a hlavne systém riadenia bázy dát.

Simona: A čo my, obyčajní poddaní? Ako sme sa s ním rozprávali?

Michal: Cez terminály. Ale pozor, neboli to počítače, ako ich poznáme dnes. Bol to v podstate len monitor a klávesnica. Žiadny vlastný procesor, žiadna pamäť. Boli to takzvané „hlúpe“ terminály.

Simona: Počkaj, takže ten terminál sám o sebe nevedel spraviť vôbec nič? Ani len 2+2?

Michal: Vôbec nič. Len poslal tvoj príkaz na mainframe, ten to spracoval a poslal ti naspäť výsledok na obrazovku. Všetka inteligencia bola centralizovaná. Tieto mašiny boli navrhnuté tak, aby bežali 24/7 a obslúžili tisíce takýchto terminálov naraz.

Simona: Znie to dosť neflexibilne. To sa muselo zmeniť, však?

Michal: A veru zmenilo. V osemdesiatych a deväťdesiatych rokoch prišli na scénu osobné počítače a siete. A s nimi prišla revolúcia menom Distribuovaný Informačný Systém, alebo DIS.

Simona: Čiže opak feudalizmu... informačná demokracia?

Michal: Presne! Namiesto jedného veľkého mozgu máme zrazu veľa menších, ktoré spolupracujú. Základným princípom je decentralizácia. Každý počítač v sieti má vlastnú autonómiu – vlastný procesor, vlastnú pamäť.

Simona: Takže už nemáme jeden bod, ktorý keď zlyhá, všetko padne.

Michal: To je tá najväčšia výhoda. A pre používateľa je to celé transparentné. Ty ani nevieš, či sú dáta, s ktorými pracuješ, na serveri v Bratislave alebo v Tokiu.

Simona: A ako táto spolupráca vyzerá v praxi? Počula som pojmy klient a server.

Michal: To je najbežnejší model. Predstav si, že si v reštaurácii. Ty si klient. Objednáš si jedlo. Tvoju objednávku prevezme server, teda čašník, odnesie ju do kuchyne, kde sa pripraví, a prinesie ti hotové jedlo.

Simona: Rozumiem. Klient je ten, kto žiada o službu, a server je ten, kto ju poskytuje.

Michal: Presne. A tých serverov máme rôzne typy. Napríklad súborový server ti dáva prístup k súborom, ako nejaký zdieľaný disk. Ale zaujímavejšie sú databázové servery.

Simona: To znie dôležito.

Michal: Aj je. Keď si na mobile prezeráš Instagram, tvoj telefón je klient. Pošle požiadavku: „Daj mi nové fotky.“ Databázový server Instagramu túto požiadavku spracuje, nájde v obrovskej databáze presne tie fotky, ktoré máš vidieť, a pošle ti naspäť len výsledok.

Simona: Čiže všetka tá ťažká práca sa udeje na serveri a môj mobil len zobrazí, čo dostal. To je super efektívne!

Michal: Presne tak. Rozdelenie práce je kľúčové. A práve tento princíp je základom fungovania celého moderného internetu. Je to fascinujúce, ako sa to celé vyvinulo.

Simona: To teda je. Od jedného kráľovského počítača k celosvetovej sieti. No a keď už hovoríme o sieti, poďme sa pozrieť na to, ako môžu byť tie počítače vlastne fyzicky pospájané.

Simona: Dobre, takže keď už chápeme, ako systémy komunikujú, poďme sa pozrieť priamo do ich srdca. Do databáz.

Michal: Presne tak. Bez nich by bol dnešný digitálny svet len prázdna schránka. Ale vieš, že databáza nie je len jedna veľká tabuľka? Má svoju architektúru, podobne ako dom.

Simona: Ako dom? Tak to ma zaujíma. Sem s tým!

Michal: Predstav si, že máš trojúrovňovú architektúru. Na samom vrchu je externá úroveň. To je to, čo vidíš ty ako používateľ. Napríklad tvoj profil na Instagrame — vidíš fotky, komentáre, počet followerov. Každý používateľ má svoj vlastný, prispôsobený pohľad.

Simona: Okej, to je fasáda domu. Rozumiem. Čo je pod ňou?

Michal: V strede je konceptuálna úroveň. To je ako architektonický plán celého domu. Definuje všetky entity a vzťahy. Čiže, že existujú používatelia, príspevky, komentáre a ako sú navzájom prepojené. Je to celkový pohľad na všetky dáta, ale bez technických detailov.

Simona: Čiže taký entitno-relačný diagram, o ktorom sme sa učili?

Michal: Presne ten! A úplne na spodku je interná úroveň. To sú základy domu, elektrické rozvody a potrubia. Hovorí o tom, ako sú dáta fyzicky uložené na disku. Je to svet súborov a indexov, s ktorým pracuje operačný systém. Bežný používateľ sa k nemu nikdy nedostane.

Simona: Takže externá je to, čo vidím, konceptuálna je plán a interná je skutočná stavba. Super analógia!

Michal: Presne tak. A keď už vieme, ako vyzerá, poďme si jednu postaviť. Existuje na to taká pomôcka, takmer ako zaklínadlo... AKLFINOP.

Simona: To znie ako niečo z Harryho Pottera! Čo to znamená?

Michal: Je to len skratka pre postup. Prvé 'A' je Analýza. Musíš sa pýtať: Čo chceme ukladať? Aké funkcie potrebujeme? Potom 'K' a 'L' — Konceptuálny a Logický návrh. To je to kreslenie diagramov, definovanie tabuliek, stĺpcov a vzťahov.

Simona: A ďalej?

Michal: 'F' je Fyzický návrh — rozhodneš sa, aké dátové typy použiť, aby to bolo rýchle a nezaberalo veľa miesta. 'I' je Implementácia, kde to celé nakódiš v SQL. Príkazmi ako CREATE DATABASE a CREATE TABLE.

Simona: A sme hotoví?

Michal: Ešte nie! Nasleduje 'N' — Naplnenie dátami. Potom 'O' — Overenie, či všetko funguje. A nakoniec 'P' — Prevádzka a rozvoj. Lebo databáza žije a časom sa mení. Takže žiadna mágia, len systematická práca.

Simona: Dobre, ale čo ak už nejakú starú, chaotickú databázu mám a chcem ju nahradiť novou a lepšou? Nemôžem len skopírovať súbory, však?

Michal: Určite nie! To by bola katastrofa. Tomuto procesu sa hovorí migrácia dát a je to tak trochu umenie. Používa sa na to proces zvaný ETL.

Simona: ETL? Ďalšia skratka?

Michal: Áno, ale táto je kľúčová! Znamená Extract, Transform, Load. Najprv 'Extract' — vytiahneš dáta zo starého systému. Potom 'Transform' — a to je tá najdôležitejšia časť. Tu dáta čistíš, upravuješ a meníš im formát, aby pasovali do novej štruktúry.

Simona: Ako keď sa sťahuješ a pretriediš staré haraburdy predtým, ako ich dáš do nového bytu.

Michal: Perfektné prirovnanie! A nakoniec 'Load' — nahráš tie čisté, upratané dáta do novej databázy. Dôležité je všetko najprv otestovať a hlavne... zálohovať! Vždy.

Simona: A je to vždy rovnaké? Ten ETL proces?

Michal: V princípe áno, ale stretneš sa s rôznymi scenármi. Najľahší je, keď nová databáza má rovnakú štruktúru. To je len kópia 1:1.

Simona: To znie fajn. Ale asi to nie je časté, však?

Michal: Veru nie. Najčastejšie je, že štruktúru meníš. Napríklad v starej databáze máš stĺpec 'cele_meno' a v novej chceš mať 'meno' a 'priezvisko' oddelene. To je presne úloha pre fázu Transform.

Simona: Aha, takže tam tie dáta vlastne rozdelíš.

Michal: Presne. Alebo naopak, môžeš viacero starých tabuliek spojiť do jednej novej. Alebo len zmeníš dátový typ — napríklad text, ktorý vyzerá ako dátum, prekonvertuješ na skutočný dátumový typ. Možností je veľa.

Simona: Takže kľúčom je dobrá analýza a plánovanie vopred. Chápem. Je úžasné, koľko práce sa skrýva za niečím, čo považujeme za samozrejmosť.

Michal: A to sme len na povrchu! Ale základné princípy návrhu a migrácie sú alfou a omegou. Keď zvládneš toto, si na najlepšej ceste.

Simona: Super. Takže teraz vieme, ako databázu navrhnúť a ako do nej presťahovať dáta. Ale akým jazykom sa s ňou vlastne rozprávame? Predpokladám, že na to sa pozrieme nabudúce.

Simona: Takže to sme uzavreli. A ako poslednú tému tu dnes máme terminály. Michal, čo si pod tým máme predstaviť? Niečo z filmu Terminátor?

Michal: No, našťastie nie. Predstav si terminál ako okno do počítača. Je to vlastne len obrazovka a klávesnica, ktoré sa pripájajú k nejakému veľkému, centrálnemu počítaču, ktorý robí všetku prácu.

Simona: A existujú rôzne typy, však?

Michal: Presne tak. Prvým typom sú dávkové terminály. Tie fungovali tak, že si im dal balík práce, napríklad na diernych štítkoch, a on to spracoval. Nebola tam žiadna priama interakcia.

Simona: Počkať, dierne štítky? To znie ako z praveku!

Michal: Trochu áno. Opakom sú konverzačné terminály. Tie už umožňovali interaktívnu komunikáciu. Napíšeš príkaz a hneď dostaneš odpoveď, ako v nejakom chate.

Simona: Dobre, takže to je rozdiel medzi jednosmernou a obojsmernou komunikáciou. A čo tie ďalšie?

Michal: Potom prišli programovateľné terminály. Tie už mali vlastný procesor a pamäť. To znamená, že mohli časť práce urobiť samy a nemuseli všetko posielať na centrálny server. Tým ho vlastne odľahčili.

Simona: A predpokladám, že z nich sa vyvinuli grafické terminály?

Michal: Presne! To sú v podstate vylepšené programovateľné terminály, ktoré už zvládli zobrazovať aj grafiku, nielen text. To bol základ pre dnešné grafické rozhrania, ktoré používame úplne všade.

Simona: Super! Takže, aby sme to zhrnuli: terminály sú brány k počítačom. Máme dávkové pre hromadné spracovanie, konverzačné pre dialóg, programovateľné s vlastným mozgom a grafické, ktoré nám ukázali prvé obrázky.

Michal: Perfektné zhrnutie. A tým sme sa dostali na koniec nášho dnešného podcastu.

Simona: Veru tak. Michal, ďakujem ti veľmi pekne za všetky informácie. A vám, milí poslucháči, ďakujeme za pozornosť a tešíme sa na vás pri ďalšej epizóde Studyfi Podcastu. Majte sa krásne!