Skoro každá aplikácia, web aj firemný systém niekde ukladá dáta a najčastejšie je za tým databáza. Slovo SQL pritom počuť stále, no málokto vie, ktorý typ databázy sa kedy hodí. Poďme si to vysvetliť prakticky, vrátane otázky, či má dnes ešte zmysel Microsoft Access.

Čo je databáza a čo je SQL

Databáza je organizované úložisko dát, z ktorého sa dá rýchlo a spoľahlivo čítať a do ktorého sa dá zapisovať. Predstavte si ju ako veľmi šikovnú tabuľku, ktorá zvládne milióny záznamov a vie ich prepájať.

SQL (Structured Query Language) je jazyk, ktorým sa s databázou rozprávame. Cez SQL sa pýtame na dáta, pridávame ich, meníme a mažeme. Databázam, ktoré tento jazyk používajú, hovoríme relačné (SQL) databázy, lebo dáta v nich žijú v prepojených tabuľkách.

Relačné (SQL) verzus NoSQL

Na úvod jedno dôležité rozdelenie:

  • Relačné (SQL) databázy ukladajú dáta do tabuliek s presnou štruktúrou a vzťahmi medzi nimi. Sú spoľahlivé, overené a vhodné pre väčšinu bežných aplikácií.
  • NoSQL databázy majú voľnejšiu štruktúru a hodia sa na špecifické prípady, ako sú obrovské objemy dát, rýchla vyrovnávacia pamäť alebo neštruktúrované dáta.

Pre drvivú väčšinu firiem a webov je správnou voľbou relačná SQL databáza. NoSQL je riešenie pre konkrétne potreby, nie predvolená voľba.

Najčastejšie SQL databázy a kedy ich použiť

SQLite, malá a vstavaná

SQLite je odľahčená databáza uložená v jednom súbore, bez samostatného servera. Je súčasťou množstva aplikácií a telefónov.

  • Kedy ju použiť: menšie aplikácie, mobilné appky, lokálne nástroje, prototypy, weby s malou návštevnosťou.
  • Kedy nie: keď k dátam pristupuje veľa používateľov naraz alebo treba veľký výkon.

MySQL a MariaDB, ťažný kôň webu

MySQL (a jej otvorená dvojička MariaDB) je najrozšírenejšia databáza pre weby a aplikácie. Stojí za ňou obrovská komunita a beží na nej veľká časť internetu.

  • Kedy ju použiť: weby, eshopy, redakčné systémy, bežné firemné aplikácie. Súvisí to s článkom ako postaviť kvalitný eshop alebo web.
  • Kedy nie: keď potrebujete najpokročilejšie funkcie pri zložitých dátach.

PostgreSQL, pokročilá a robustná

PostgreSQL je výkonná a veľmi spoľahlivá databáza s pokročilými funkciami. Obľubujú ju projekty, kde záleží na presnosti a zložitejšej práci s dátami.

  • Kedy ju použiť: náročnejšie aplikácie, analytika, projekty s komplexnými dátami a vzťahmi, dlhodobé riešenia.
  • Kedy nie: pre úplne jednoduchý web býva zbytočne robustná, hoci uškodiť nevie.

Microsoft SQL Server, firemný štandard

MS SQL Server je databáza od Microsoftu pre firemné prostredie, často v spojení s ďalšími produktmi Microsoftu.

  • Kedy ho použiť: firmy postavené na ekosystéme Microsoftu, podnikové aplikácie a systémy.
  • Kedy nie: pre malé projekty a weby býva zbytočne veľký.

Microsoft Access, áno aj on má svoje miesto

A teraz k Accessu, na ktorý sa veľa ľudí pýta. Microsoft Access je databáza pre jedného alebo pár používateľov s vlastným prostredím na tvorbu formulárov a zostáv. Nie je to plnohodnotný databázový server, ale skôr nástroj pre jednotlivca alebo malú kanceláriu.

  • Kedy dáva zmysel: malá evidencia, jednoduchá agenda, osobné alebo kancelárske databázy, kde pracuje jeden či pár ľudí a netreba veľký výkon ani vzdialený prístup.
  • Kedy radšej nie: keď k dátam potrebuje pristupovať viac ľudí naraz, keď dát pribúda, alebo keď ide o kritickú firemnú agendu. Vtedy je rozumnejšie prejsť na databázový server (napríklad MySQL, PostgreSQL alebo MS SQL Server).

Access teda nie je mŕtvy, no treba vedieť, kde má hranice. Veľa firiem na ňom začne a časom z neho vyrastie.

Stručné porovnanie

DatabázaPre koho a kedy
SQLitemalé a mobilné aplikácie, prototypy, lokálne nástroje
MySQL / MariaDBweby, eshopy, bežné firemné aplikácie
PostgreSQLnáročnejšie a dlhodobé projekty, analytika
MS SQL Serverfirmy v ekosystéme Microsoftu, podnikové systémy
MS Accessjeden alebo pár používateľov, malá kancelárska evidencia
NoSQLšpecifické potreby (veľké objemy, cache, neštruktúrované dáta)

Na čo myslieť pri výbere

  • Koľko používateľov a koľko dát? Od toho sa odvíja, či stačí súborová databáza alebo treba server.
  • Kde to pobeží? Databázový server zvyčajne beží na serveri, lokálnom alebo cloudovom.
  • Zálohovanie. Dáta sú to najcennejšie, preto myslite na zálohy od začiatku.
  • Prepojenie s inými systémami cez API.
  • Rast do budúcna. Vyberajte tak, aby riešenie vydržalo aj keď firma narastie.

Záver

Neexistuje jedna najlepšia databáza, existuje vhodná databáza pre danú situáciu. Na malé veci stačí SQLite alebo Access, web a eshop dobre obslúži MySQL, náročnejšie projekty PostgreSQL a firmy v prostredí Microsoftu MS SQL Server. Dôležité je vybrať podľa počtu používateľov, objemu dát a plánov, nie podľa toho, čo je práve populárne.

Riešite, akú databázu zvoliť, alebo potrebujete prejsť z Accessu na poriadny databázový server? Ozvite sa nám, poradíme a navrhneme riešenie na mieru.

Tento článok je súčasťou prehľadu Softvér a systém.