Zhrnutie na Kľúčové IT koncepty a finančné metriky
Kľúčové IT Koncepty a Finančné Metriky: Komplexný Prehľad
Úvod
Databázy sú systémy na ukladanie, organizovanie a rýchle získavanie dát. Tento materiál vysvetľuje hlavné druhy databáz, význam indexov a rozdiely medzi typmi pamäťových prístupov v programovaní. Je určený pre študenta, ktorý sa učí samostatne a chce získať praktické zručnosti a prehľad.
Definícia: Databáza je organizovaný súbor dát uložený tak, aby umožňoval efektívne vkladanie, aktualizáciu a vyhľadávanie.
1. Druhy databáz
Rozdeľujeme databázy podľa štruktúry a spôsobu ukladania dát.
1.1 Relačné databázy (RDBMS)
- Dáta sú uložené v tabuľkách (riadky = záznamy, stĺpce = atribúty).
- Používa sa SQL na dopytovanie a manipuláciu (napr. MySQL, PostgreSQL, Oracle).
- Vhodné pre silne štruktúrované údaje so vzťahmi medzi tabuľkami.
Praktický príklad: Systém pre evidenciu študentov – tabuľka Students(id, meno, priezvisko), Courses(id, nazov), Enrollment(student_id, course_id).
1.2 Nerelačné databázy (NoSQL)
- Nie sú organizované do klasických tabuliek, ponúkajú flexibilitu v schéme.
- Vhodné pre veľké objemy dát, rýchle čítanie/zápis a horizontálne škálovanie.
Typy NoSQL databáz:
- Dokumentové (MongoDB): dáta vo formáte JSON-like dokumentov.
- Kľúč-hodnota (Redis): jednoduché páry kľúč -> hodnota, veľmi rýchle operácie.
- Grafové (Neo4j): optimalizované pre reprezentáciu vzťahov ako uzly a hrany.
- Stĺpcové (Cassandra): efektívne pre veľké distribuované dataset-y s rýchlym zápisom.
Praktický príklad: Ukladanie profilov používateľov ako dokumenty v MongoDB, kde každý dokument môže mať iné polia.
1.3 In-memory databázy
- Dáta sú držané v RAM, čo poskytuje veľmi nízke latencie (napr. Redis v pamäti).
- Použitie: cache, rýchle fronty, dočasné úložisko pre rýchle operácie.
1.4 Distribuované databázy
- Dáta sú rozložené na viacerých serveroch alebo geolokačne.
- Umožňujú vysokú dostupnosť a škálovateľnosť, ale zvyšujú zložitosť konzistencie.
2. Index v databáze
Indexy zrýchľujú vyhľadávanie v tabuľkách podobne, ako obsah v knihe zrýchľuje nájdenie kapitoly.
Definícia: Index je dátová štruktúra, vytvorená na jednom alebo viacerých stĺpcoch tabuľky, ktorá umožňuje rýchlejšie vyhľadávanie a triedenie.
Prečo používať indexy
- Zrýchľujú SELECT dotazy, WHERE filtre a ORDER BY.
- Znižujú počet čítaní diskových blokov pri vyhľadávaní.
Typy indexov
- Primárny index – vytvorený na primárnom kľúči tabuľky (unikátny, garantuje identifikáciu riadka).
- Sekundárny index – index na inom stĺpci, ktorý zlepšuje dotazy podľa tohto stĺpca.
- Zložený index – index vytvorený na viacerých stĺpcoch naraz (napr. (priezvisko, meno)).
Nevýhody indexov
- Zvyšujú priestorovú náročnosť (vyžadujú miesto pre indexové štruktúry).
- Spomaľujú operácie zápisu (INSERT, UPDATE, DELETE), pretože indexy sa musia aktualizovať.
Porovnanie typov indexov:
| Typ indexu | Použitie | Výhody | Nevýhody |
|---|---|---|---|
| Primárny | Identifikácia riadku | Unikátnosť, rýchly prístup podľa PK | N/A |
| Sekundárny | Vyhľadávanie podľa iného stĺpca | Zlepší dotazy podľa tohto stĺpca | Zvýšenie nákladov na zápis |
| Zložený | Dotazy používajúce viac stĺpcov | Podporuje vyhľadávanie podľa kombinácie polí | Index sa nevyužije pri dopytoch mimo poradia polí |
Praktický príklad: Ak často dopytujete používateľov podľa (priezvisko, meno), vytvorte zložený index na týchto dvoch stĺpcoch.
3. Príklady reálnych aplikácií
- E-shop: relačná databáza pre objednávky a zákazníkov, NoSQL cache pre produktové stránky (rýchle načítanie).
- Sociálna sieť: grafová databáza pre vzťahy medzi používateľmi, stĺpcová databáza pre analytické dotazy.
- IoT riešenia: stĺpcové alebo NoSQL databázy pre rýchly zápi
Už máš účet? Prihlásiť sa
Databázy - prehľad
Klíčová slova: Virtualizácia, DNS, Databázy, Návratnosť investícií
Klíčové pojmy: Databázy sú systémy na ukladanie a vyhľadávanie dát, Relačné DB používajú tabuľky a SQL, NoSQL typy: dokumentové, kľúč-hodnota, grafové, stĺpcové, In-memory DB držia dáta v RAM pre nízku latenciu, Distribuované DB zvyšujú dostupnosť, zložitosť konzistencie, Index zrýchľuje SELECT, ale spomaľuje zápisy, Primárny, sekundárny a zložený index majú rôzne použitia, Priamy vs. nepriamy prístup: ukazovatele vs. referencie, Dynamická pamäť sa alokuje za behu, potrebuje uvoľnenie, Stack vs. heap: rýchlosť vs. flexibilita