Skip to content

Přehled bežných DBMS a jejich charakteristika

V praxi se setkáváme s mnoha různými systémy řízení báze dat. Každý má své specifické vlastnosti, licencování a vhodné použití.

Relační databázové systémy (RDBMS)

1. Oracle Database

  • Typ: Komerční, enterprise RDBMS.
  • Vývojář: Oracle Corporation.
  • Charakteristika:
    • Jeden z nejrozšířenějších a nejvýkonnějších systémů na světě.
    • Extrémní spolehlivost, škálovatelnost a bezpečnost.
    • Podpora PL/SQL (procedurální rozšíření SQL).
  • Použití: Bankovnictví, velké podnikové systémy (ERP), kritické aplikace vyžadující maximální dostupnost.
  • Nevýhody: Velmi vysoká cena licencí a náročná správa.

2. Microsoft SQL Server

  • Typ: Komerční RDBMS (existuje Express edice zdarma).
  • Vývojář: Microsoft.
  • Charakteristika:
    • Úzce integrován s ekosystémem Windows a .NET.
    • Vynikající nástroje pro správu (SQL Server Management Studio).
    • Jazyk T-SQL (Transact-SQL).
  • Použití: Firemní aplikace na platformě Windows, střední a velké podniky.
  • Nevýhody: Primárně pro Windows (verze pro Linux existuje, ale není tak běžná), cena.

3. MySQL / MariaDB

  • Typ: Open Source RDBMS.
  • Vývojář: Oracle (MySQL) / Komunita (MariaDB - fork MySQL).
  • Charakteristika:
    • Nejpoužívanější open-source databáze pro webové aplikace.
    • Součást balíku LAMP (Linux, Apache, MySQL, PHP/Python/Perl).
    • MariaDB vznikla jako reakce na odkoupení MySQL firmou Oracle, aby zůstala svobodná.
  • Použití: Webové stránky (WordPress, Joomla), e-shopy, menší až střední aplikace.
  • Výhody: Zdarma, velká komunita, snadná dostupnost na hostingu.

4. PostgreSQL

  • Typ: Open Source objektově-relační DBMS (ORDBMS).
  • Vývojář: PostgreSQL Global Development Group.
  • Charakteristika:
    • Považován za nejpokročilejší open-source databázi.
    • Klade důraz na dodržování standardů SQL a rozšiřitelnost.
    • Podpora složitých datových typů (JSON, pole, geometrická data - PostGIS).
  • Použití: Složité analytické aplikace, GIS systémy, náhrada za Oracle.
  • Výhody: Výkon, funkce srovnatelné s komerčními DB, zdarma.

5. SQLite

  • Typ: Vestavěná (embedded) relační databáze.
  • Charakteristika:
    • Není to klient-server architektura (nemá samostatný proces).
    • Celá databáze je uložena v jediném souboru na disku.
    • Knihovna se linkuje přímo do aplikace.
  • Použití: Mobilní aplikace (Android, iOS), prohlížeče, desktopové aplikace, malé weby.
  • Výhody: Nulová konfigurace, přenositelnost.
  • Nevýhody: Není vhodná pro souběžný zápis mnoha uživatelů.

NoSQL Databázové systémy

6. MongoDB

  • Typ: Dokumentová databáze.
  • Charakteristika:
    • Ukládá data ve formátu podobném JSON (BSON).
    • Nemá pevné schéma (schema-less) - každý záznam může mít jinou strukturu.
    • Vysoká škálovatelnost (sharding).
  • Použití: Katalogy produktů, systémy pro správu obsahu, aplikace s rychle se měnící strukturou dat.

7. Redis

  • Typ: Key-Value store (úložiště v paměti), In-Memory Database.
  • Charakteristika:
    • In-Memory: Veškerá data jsou primárně uložena v operační paměti (RAM), což zaručuje extrémně rychlé čtení i zápis (v řádech mikrosekund).
    • Struktura dat: Pracuje na principu klíč-hodnota. Hodnotou může být nejen řetězec, ale i složitější struktury (seznamy, množiny, hash mapy).
    • Perzistence: Ačkoliv je "in-memory", data umí ukládat na disk (Snapshoty/RDB nebo Append Only File/AOF), aby se neztratila při restartu.
    • Single-threaded: Zpracovává příkazy sekvenčně v jednom vlákně (eliminuje složité zamykání), ale díky rychlosti RAM to není úzké hrdlo.
  • Použití: Caching (mezipaměť pro zrychlení webů), session management (ukládání přihlášení uživatelů), fronty zpráv (Message Queues), žebříčky v hrách (Leaderboards).
  • Nevýhody: Velikost databáze je limitována velikostí RAM. Pokud dojde k výpadku proudu a data nebyla stihnutá uložit na disk, jsou ztracena.

8. Cassandra

  • Typ: Sloupcová databáze (Wide-column store).
  • Charakteristika:
    • Decentralizovaná, nemá master uzel (všechny uzly jsou si rovny).
    • Lineární škálovatelnost.
    • Vymyšleno ve Facebooku.
  • Použití: Zpracování obrovského množství dat napříč mnoha servery, záznamy senzorů (IoT), chatovací aplikace.

Moderní trendy: Big Data a AI

S nástupem éry umělé inteligence (AI) a velkých dat (Big Data) přestaly klasické databáze stačit pro některé specifické úlohy.

Big Data technologie

Pro zpracování obrovských objemů dat (petabajty), která přicházejí velkou rychlostí a v různé struktuře (nejen tabulky, ale i logy, videa, texty).

  • Hadoop Ecosystem (HDFS, Hive, HBase): Distribuované úložiště a zpracování dat.
  • Apache Spark: Extrémně rychlý engine pro zpracování velkých dat v paměti.
  • Data Lakes (Datová jezera): Úložiště, kam se "sypou" data v surovém formátu pro pozdější analýzu (např. v cloudu AWS S3, Azure Blob Storage).

Vektorové databáze (pro AI a LLM)

S rozvojem velkých jazykových modelů (LLM - jako GPT, Claude, Llama) vznikla potřeba ukládat a vyhledávat data podle jejich významu (sémantiky), ne podle klíčových slov.

  • Princip: Text, obrázek nebo zvuk se pomocí AI modelu převede na tzv. vektor (embedding) - dlouhou řadu čísel, která reprezentuje význam dat v n-rozměrném prostoru.
  • Vyhledávání: Hledá se "nejbližší soused" (vektor, který je matematicky nejblíže dotazu). To umožňuje najít dokumenty s podobným významem, i když neobsahují stejná slova (např. dotaz "auto" najde i dokument "vozy").
  • Příklady:
    • Pinecone: Plně spravovaná cloudová vektorová databáze.
    • Milvus: Open-source vektorová databáze pro velké škálování.
    • ChromaDB: Jednoduchá open-source databáze pro AI aplikace.
    • pgvector: Rozšíření pro PostgreSQL, které umožňuje ukládat vektory přímo v klasické relační databázi.
  • Použití: Chatboti s vlastními daty (RAG - Retrieval Augmented Generation), sémantické vyhledávání, doporučovací systémy.