Podcast o Základy informatiky a počítačových systémov

Základy informatiky a počítačových systémov: Kompletný rozbor

Podcast

Úložiská a RAID polia0:00 / 9:07
0:001:00 zostáva
LuciaČo je tá jedna vec, ktorá pri úložiskách zamotá hlavu 80 percentám študentov na skúške? RAID. A dnes si ukážeme, ako v tom mať raz a navždy jasno.
MatejPresne tak. Na konci tejto časti v tom budete mať absolútny poriadok. Toto je Studyfi Podcast.
Kapitoly

Úložiská a RAID polia

Délka: 9 minut

Kapitoly

Pasca menom RAID

Fyzická štruktúra disku

Čo je to RAID?

Čo je to premenná?

Jednoduché vs. Zložené premenné

Čo je to server?

Typy serverov

Herné a virtuálne servery

Sila cloudu

Čo je databáza?

SQL verzus NoSQL

Zhrnutie a záver

Přepis

Lucia: Čo je tá jedna vec, ktorá pri úložiskách zamotá hlavu 80 percentám študentov na skúške? RAID. A dnes si ukážeme, ako v tom mať raz a navždy jasno.

Matej: Presne tak. Na konci tejto časti v tom budete mať absolútny poriadok. Toto je Studyfi Podcast.

Lucia: Dobre, Matej, začnime úplnými základmi. Ako vlastne funguje klasický pevný disk, to HDD-čko?

Matej: Predstav si rotujúce platne ako vinylovú platňu, nad ktorými lietajú čítacie hlavy. Tieto platne sa točia tisíckrát za minútu. Dáta sú zapísané v kružniciach, ktorým hovoríme stopy, a tie sú rozdelené na sektory.

Lucia: A čo modernejšie SSD disky? Tie už žiadne platne nemajú, však?

Matej: Správne! Tie používajú pamäťové čipy. Sú oveľa rýchlejšie a odolnejšie, lebo nemajú žiadne pohyblivé časti. Už žiadne mechanické divadlo.

Lucia: Dobre, a teraz k tomu sľúbenému RAID-u. Čo to vlastne znamená?

Matej: RAID spája viacero diskov do jedného logického celku. Cieľom je buď rýchlosť, bezpečnosť, alebo oboje. Napríklad RAID 0 ukladá dáta striedavo na dva disky, čo je super rýchle, ale ak jeden zlyhá, stratíš všetko.

Lucia: A čo ak chcem hlavne bezpečnosť?

Matej: Tak siahneš po RAID 1, kde sa všetko zrkadlí. Jeden disk je presnou kópiou druhého. Je to bezpečné, no máš len polovičnú kapacitu. Existujú aj kombinácie ako RAID 5 alebo RAID 10 pre najlepší výkon aj ochranu.

Lucia: Takže výber závisí od toho, či ti ide viac o rýchlosť alebo o istotu. Perfektné! Poďme sa teraz pozrieť na ďalšiu tému.

Lucia: ...takže vybrať si jazyk je naozaj len prvý krok. Ale v každom z nich sa stretneme s niečím, čomu sa hovorí premenná. Čo to vlastne je, Matej? Znie to dosť matematicky.

Matej: Trochu to tak znie, ale je to oveľa jednoduchšie. Predstav si premennú ako škatuľku s menovkou. Do tej škatuľky môžeš vložiť nejakú informáciu – napríklad číslo, text alebo stav pravda/nepravda. A tá menovka? To je názov premennej.

Lucia: Takže ak mám premennú s názvom vek, môžem do nej vložiť číslo, napríklad 25?

Matej: Presne tak! A to je kľúčové – tá hodnota sa môže počas behu programu meniť. Preto sa to volá premenná. Najprv môže byť vek 25, neskôr ho program zmení na 26.

Lucia: Dobre, to dáva zmysel. A všetky premenné sú rovnaké? Alebo sú tam nejaké typy?

Matej: Výborná otázka! V zásade ich delíme na dve hlavné skupiny. Máme jednoduché, alebo primitívne premenné. Tie uchovávajú len jednu základnú hodnotu.

Lucia: Ako napríklad...

Matej: Ako celé číslo, napríklad int pocet_bodov = 100. Alebo desatinné číslo float teplota = 24.5. Dokonca aj jeden znak, char pismeno = 'A', alebo logickú hodnotu bool je_prihlaseny = true.

Lucia: Aha, takže je to ako triediť Lego kocky podľa farby a veľkosti. Každá je jeden jednoduchý, základný kus. Čo je potom tá druhá skupina?

Matej: Presne tak! A tá druhá skupina sú zložené premenné. Tie neuchovávajú len jednu hodnotu, ale celú zbierku dát. Sú ako tvoj hotový Lego model – zložený z mnohých jednoduchých kociek.

Lucia: Takže napríklad slovo? To je zložené z písmen.

Matej: Presne! Reťazec, teda string meno = "Lucia", je vlastne zložená premenná, ktorá obsahuje viacero znakov. Alebo pole, ktoré obsahuje zoznam čísel. Sú to štruktúry pre zložitejšie dáta.

Lucia: Super, takže máme premenné, v ktorých držíme dáta. Ale keď napíšem program, kde vlastne beží? Stále počúvam slovo 'server'. Je to len nejaký super-výkonný počítač?

Matej: V podstate áno, ale s dôležitými rozdielmi. Server je počítač navrhnutý tak, aby bežal nonstop a poskytoval služby iným počítačom v sieti. Napríklad, aby tvoj obľúbený e-shop bol stále online.

Lucia: Takže musí byť oveľa spoľahlivejší ako môj notebook, ktorý reštartujem každý deň.

Matej: Rozhodne. Preto má špeciálne komponenty. Výkonné viacjadrové procesory, obrovskú RAM pamäť, ktorá si sama opravuje chyby, a často aj viacero napájacích zdrojov pre prípad výpadku jedného.

Lucia: Znie to ako malá pevnosť.

Matej: A to aj je! Plus má silné chladenie, záložné batérie a ultra-rýchle sieťové pripojenie. Všetko je zamerané na stabilitu a výkon.

Lucia: A všetky servery robia to isté? Teda len hosťujú webové stránky?

Matej: Vôbec nie. To je bežná predstava, ale serverov je mnoho typov podľa ich účelu. Webový server posiela stránky do tvojho prehliadača, to je pravda. Ale existuje aj databázový server, ktorý sa stará čisto o dáta.

Lucia: Aha... a nejaké ďalšie príklady?

Matej: Jasné. Súborový server slúži na ukladanie a zdieľanie súborov vo firme. Mailový server spracúva všetky tvoje e-maily. Každý má svoju špecializáciu, ako nástroje v dielni. Každý je dobrý na niečo iné.

Lucia: Takže keď programujeme aplikáciu, často komunikuje s viacerými typmi serverov naraz?

Matej: Bingo! Presne tak si to trafila. Je to celý ekosystém. Chápeme teda premenné, aj miesto, kde náš kód môže bežať. Teraz je čas pozrieť sa na to, ako tie dáta vlastne dlhodobo a štruktúrovane ukladať. A na to slúžia databázy.

Lucia: Takže to boli základy. Ale poďme na niečo zábavnejšie... čo napríklad herné servery?

Matej: Jasné! Herné servery sú špecialisti. Potrebujú extrémne nízku odozvu, teda latenciu, a silný procesor, aby utiahli hry ako Minecraft pre desiatky hráčov.

Lucia: Chápem. Preto mi doma padá server, keď sa pripojí viac ako päť kamarátov.

Matej: Presne tak. A potom tu máme virtuálne servery, známe ako VPS. Je to ako jeden fyzický stroj, ktorý sa vďaka softvéru tvári, že je viacerými menšími servermi naraz.

Lucia: Ako jeden bytový dom s mnohými samostatnými bytmi?

Matej: Skvelá analógia! Je to super na hosting alebo testovanie nových aplikácií.

Lucia: A čo ten všadeprítomný cloud? Ako do toho zapadajú cloudové servery?

Matej: Tie sú o dynamike. Výkon si neberú z jedného stroja, ale z celej siete podľa potreby. Je to ako elektrina zo zásuvky – nevieš odkiaľ presne ide, ale funguje.

Lucia: Takže platíš len za to, čo naozaj minieš a kedykoľvek to môžeš zmeniť?

Matej: Presne. Sú extrémne škálovateľné a dostupné. Preto ich využívajú obrovské SaaS aplikácie a služby.

Lucia: Super. Takže poznanie týchto rozdielov nám dáva poriadnu výhodu.

Matej: Absolútne. A keď už vieme, čo sú zač, poďme sa pozrieť na to, ako spolu vlastne komunikujú...

Lucia: Dobre, Matej, prešli sme si logiku programov, ale kam sa všetky tie dáta vlastne ukladajú? To nás privádza k našej poslednej, kľúčovej téme – databázy.

Matej: Presne tak. Databáza je v podstate organizovaný systém na ukladanie a správu dát. Predstav si to ako digitálnu kartotéku pre študentov v škole alebo produkty v e-shope.

Lucia: Takže všetko má svoje presné miesto? Čo všetko tam môžeme uložiť?

Matej: Áno. Každý údaj má svoj typ, napríklad INT pre celé číslo, VARCHAR pre text, alebo BOOLEAN pre jednoduché áno alebo nie. Je to ako triedenie... nedáš ponožky do poličky s tričkami.

Lucia: Dúfajme, že nie! To dáva zmysel.

Matej: A podľa toho, ako dáta ukladáme, máme dva hlavné tábory. Prvým sú relačné, čiže SQL databázy ako MySQL. Tie sú super štruktúrované, ako prepojené tabuľky v Exceli. Zabezpečujú integritu dát.

Lucia: A ten druhý tábor?

Matej: To sú nerelačné, alebo NoSQL databázy ako MongoDB. Sú oveľa flexibilnejšie. Namiesto pevných tabuliek často pracujú s dátami vo formáte JSON. Sú skvelé pre obrovské a rýchlo sa meniace dáta, napríklad na sociálnych sieťach.

Lucia: Kľúčové teda je, že SQL je o štruktúre, NoSQL o flexibilite.

Matej: Vystihla si to presne. Výber závisí od toho, čo presne potrebuješ postaviť.

Lucia: Perfektné. Takže, od premenných, cez algoritmy až po databázy... prešli sme si naozajstné základy. Verím, že naši poslucháči majú teraz oveľa jasnejšiu predstavu.

Matej: Určite áno. Dúfam, že sme vás inšpirovali. Nebojte sa s tým hrať a experimentovať!

Lucia: Ďakujeme, že ste nás počúvali v Studyfi Podcaste. Majte sa skvele a veľa úspechov pri programovaní!