Kterou SQL databázi použít?

Ostatní jazyky SQL Kterou SQL databázi použít?

Tento článek je určen těm, kteří se rozhodli naučit se databázi a s tím spojené další technologie a nyní přemýšlí, jak a odkud začít. Vzhledem k velkému počtu komentářů a připomínek byl tento článek přepracován do nynější podoby.

Co je to databáze?

Databáze je určitá uspořádaná množina dat, uložená na paměťovém médiu. V širším smyslu se databází myslí i aplikace (software), umožňující manipulaci s daty. Tento software se nazývá Systém Řízení Báze Dat (SŘBD)[1] v anglickém originále Relational Database Management Systém (RDBMS). V tomto článku budu používat termín databáze v širším slova smyslu.

Historie databází

Vývoj databází velkou měrou ovlivnila vláda Spojených států amerických (její požadavky na rozsáhlé zpracování dat)[2] a společnost IBM. Právě tato společnost jako první před více než padesáti lety vyvinula hard disk[3], který je dodnes nejpoužívanějším fyzickým médiem pro uchovávání dat v počítači a právě její zaměstnanec Edgar F. Codd v roce 1970 ve svém článku nastínil a definoval vlastnosti relačních databází, které dodnes patří k nejpopulárnějším. IBM společně s Oracle také patřila k prvním společnostem nabízejícím komerční relační SŘBD. V neposlední řadě to byla právě IBM, která vyvinula jazyk SQL, který se stal de facto standardem pro práci s databází. Ač relační databáze představovaly veliký krok kupředu, vývoj se nezastavil. S nástupem objektově orientovaného programování se v osmdesátých letech minulého století začaly objevovat objektové a objektově orientované systémy řízení báze dat[4]. Dalším typem databází, které se v současné době stále více a více prosazují, jsou takzvané NoSQL databáze. I přes tento pokrok jsou relační databáze stále nejpopulárnější.

SQL

Předtím, než se podíváme na jednotlivé databáze (budeme se zabývat relačními databázemi - vysvětleno dále v textu), řekneme si něco o jazyku SQL, který se pro práci s databázemi používá.

SQL znamená Structured Query Language a jedná se o jazyk pro komunikaci s databází. Vývoj jazyka SQL (původně se nazýval SEQUEL) začal v 70. letech minulého století (společně s rozvojem relačních databází) a během svého vývoje se stal nutnou znalostí kohokoliv, kdo, byť i jen okrajově, s databází pracoval. Během svého vývoje se postupně standardizoval (standard SQL-86, SQL-92, SQL-99). Standardy tedy existují a podporuje je prakticky každá relační databáze, ale bohužel ne každá implementuje všechny a naopak téměř každá si přidávám vlastní konstrukce, které nejsou součástí standardu. Z toho tedy vyplývá, že SQL pro jednotlivé databáze se může lehce lišit (a také se liší).

Jakou databázi (tutoriál) si vybrat?

Teď, když jsme si vysvětlili, co je to SQL a proč jej budeme potřebovat, podíváme se blíže na databáze, pro něž jsou zde na itnetwork tutoriály:

Ještě než budeme pokračovat dále, vysvětlíme si pojem relační databáze.

Relační databáze označuje databázi, která je založená na tabulkách. Řádky představují jednotlivé záznamy a sloupce představují jednotlivé vlastnosti záznamu (více je tento pojem rozebrán a vysvětlen v každém z tutoriálů).

Jakou databázi z těchto si tedy vybrat? Pokud se pouze chcete seznámit s SQL, je jedno, jaký tutoriál si vyberete. Pokud ale s SQL chcete pracovat anebo chcete programovat aplikace, které budou databázi využívat, je dobré se rozhodnout pro tutoriál na určitou databázi.

MySQL

Je jednou z nejpopulárnějších databází a setkáte se s ní převážně při programování webových aplikací. Jedná se o nejrozšířenější databázi pokud jde o nabídku hostingů. MySQL byla vytvořena švédskou společností MySQL AB, v roce 1995. Tato společnost byla v roce 2008 zakoupena společností Sun Microsystems, která byla následovně v roce 2009 zakoupena společností Oracle[5].

MS-SQL

Tato databáze se používá jak pro podnikové aplikace, tak se s ní setkáte i u webových aplikací. Jedná se o databázi vyvíjenou společnosti Microsoft. První verze byla představena v roce 1989 jako konkurence databázím společností IBM a Oracle.

SQLite

Na rozdíl od velkých databází jako MySQL, MS-SQL, PostgreSQL, … které běží jako služba, je SQLite pouze malá knihovna nástrojů, kterou mají již některé jazyky, zvláště ty interpretované, zabudovanou v sobě. Každá databáze se ukládá jako jeden obyčejný soubor na disk, většinou s příponou .db, který je bez problémů přenositelný. Jedná se tzv. embedded databázi a hojně se využívá u desktopových aplikací pro lokální uchovávání dat. První verze této databáze byla vydána v roce 2000.

PostgreSQL

Jedná se o jednu z nejpopulárnějších open-source databází. Používá se jak pro podnikové tak pro webové aplikace. Systém řízení báze dat PostgreSQL se vyvinul z projektu Ingres, který má počátky v sedmdesátých letech minulého století[6]. Původní význam jména byl „post-Ingres“ a svůj aktuální název PostgreSQL získal v roce 1996. První vydání PostgreSQL proběhlo v roce 1997[7].

Popularita jednotlivých databází

Ač popularita databáze není asi nejdůležitější faktor pro její výběr, může přesto toto kritérium hrát určitou roli (např. více nabídek práce pro specialistu na danou databázi či pro firmu jednodušší sehnání odborníka).

Popularitě jednotlivých databází se věnuje web http://db-engines.com/en/ranking. Popularita je měřena na základě několika parametrů:

  • Počet zmínek o databázovém systému na webových stránkách: měřeno jako počet výsledků ve vyhledávačích Google a Bing.
  • Všeobecný zájem o databázový systém: měřeno jako četnost výskytů na Google Trends.
  • Četnost výskytů v technických diskuzích: pro měření použity weby Stack Overflow a DBA Stack Exchange.
  • Počet pracovních nabídek, ve kterých je daný databázový systém zmíněn: pro měření použity weby Indeed a Simply Hired.
  • Počet zmínek na sociálních sítích pro profesionály: pro měření použit web LinkedIn.
  • Důležitost na sociálních sítích: pro měření použit web Twitter.

Výsledky k 7. 9. 2015:

  1. Oracle
  2. MySQL
  3. MS-SQL
  4. MongoDB
  5. PostgreSQL
  6. DB2
  7. MS Access
  8. Cassandra
  9. SQLite
  10. Redis

Graf vývoje popularity od listopadu 2012 do září 2015 (stav z 7. 9. 2015 pro prvních deset nejpopulárnějších):

graf vývoje popularity deseti nejpopulárnějších databází

Graf vývoje popularity od listopadu 2012 do září 2015 (stav z 7. 9. 2015 pro MySQL, MS-SQL, SQLite, PostgreSQL):

graf vývoje popularity databází, pro něž je na itnetwork k dispozici tutoriál

Zdroje:


 

  Aktivity (1)

Článek pro vás napsal vita
Avatar
vita

Jak se ti líbí článek?
Celkem (11 hlasů) :
3.090913.090913.09091 3.090913.09091


 


Miniatura
Všechny články v sekci
SQL
Miniatura
Následující článek
SQL a databáze

 

 

Komentáře
Zobrazit starší komentáře (26)

Avatar
David Novák
Tým ITnetwork
Avatar
David Novák:

Když se podíváš pořádně, tak je tam normální pořadí oblíbenosti. A hned na prvním místě máš Oracle..

U těch grafů je podle mě nejpodstatnější právě tendence - toto je článek pro začátečníky, kteří někdy možná slyšeli, že existuje nějaká databáze a nějaké SQL, ale nemají tušení co to je. A když se podívají někam na wiki, tak uvidí, že je spousta různých SQL databází.. A jak mají vědět, co si vybrat??

Mě se idea toho článku líbí a líbí se mi i doporučení (začátečníkovi bych Oracle nedoporučil ani za nic). Jen bych byl pro, aby to autor trochu více rozvedl (viz. příspěvek Davida Č.) proč dává doporučení, jaké dává. A jak říkáš ty, tak bych přidal i graf se všemi čtyřmi databázemi.

Odpovědět  +2 8.9.2015 18:34
Chyba je mezi klávesnicí a židlí.
Avatar
vita
Redaktor
Avatar
vita:

S tvojí připomínkou souhlasím (a také s následujícím komentářem Davida Nováka). Jak jsem psal již v několika komentářích výše, tento článek byl ke schválení poslán (a také byl napsán) jako zpráva (sekce software). Ani strukturou, ani množstvím textu nesplňuje požadavek na článek. Byl ale schválen a přiřazen do sekce databáze a stal se jakýmsi rozcestníkem pro ty, jež se rozhodují, jaký tutoriál zvolit.Z toho důvodu jej budu předělávat, aby více odpovídal svému zařazení.

Vzhledem k tomu, že jsi autor tutoriálu o MS-SQL budu rád, když se pak na úpravu podíváš (až bude hotová a schválená pošlu ti zprávu) a na případné další nedostatky mě upozorníš, popřípadě navrhneš nějaká zlepšení.

 
Odpovědět  +1 9.9.2015 9:10
Avatar
Michal Žůrek (misaz):

Ty grafy jsou lepší, jde vidět, že ten strmý promad MS-SQL a MySQL, jak byl v předchozím článků, až tak strmý není.... nIcméně mi pořád moc nejde do hlavy, proč vůbec nezmiňuješ alespoňt en Oracle. Nemusí to být jen článek pro začátečníky a ani rozcestník je n k tomu co je zde na síti. Ostatně svět nekončí u nás na síti.

Odpovědět 9.9.2015 15:54
Nesnáším {}, proto se jim vyhýbám.
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na vita
patrik.valkovic:

A když už jsme u toho, možná bych tam zmínil i MongoDB a MariaDB.
Jinak co se platformy týče, na Windows může běžet naprosto vše. Nevím, proč mluvíš stylem "A na Windows jde dokonce i nainstalovat PostgreSQL". Já mám na stroji Mongo, Maria, MySQL, MS SQL a všechny jedou naprosto bez problémů. Není tedy důvod mluvit o databázích, jako by byli na pevno svázané s konkrétním OS (až tedy na MS SQL).

Odpovědět 10.9.2015 20:20
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
vita
Redaktor
Avatar
Odpovídá na patrik.valkovic
vita:

Koukám, že tímto článkem se asi nezavděčím.

nicméně mi pořád moc nejde do hlavy, proč vůbec nezmiňuješ alespoňt ten Oracle

a když už jsme u toho, možná bych tam zmínil i MongoDB a MariaDB.

V tom případě by to chtělo napsat ještě pár řádek o Redis. A vlastně takový Solr je také zajímavý, určitě bych jej neměl vynechat. Ještě taky zmínku o HBase a Hive. Jó a Cassandra, .... Abych to uzavřel, citace z článku:

podíváme se blíže na databáze, pro něž jsou zde na itnetwork tutoriály

Pokud bude někdo chtít, aby se zmínka o nějaké databázi objevila v tomto článku, nechť vytvoří tutoriál do sekce SQL a já rád článek updatuji.

A nyní k následující výtce:

Nevím, proč mluvíš stylem "A na Windows jde dokonce i nainstalovat PostgreSQL".

Nejdená se o text v článku, ale o diskuzi, kterou jsem vedl s Milan Křepelka. Pokud si ji pečlivě přečteš, zjištíš, že jsme debatovali na téma rozšíření serverových OS (Linux/Unix, Windows) a databázích MS-SQL a PostgreSQL. Proto tam byla poznámka:

v případě, že firma používá server s Windows OS, tak bude pravděpodobně volit MS-SQL (i když PostgreSQL lze také pod Windows bez problémů provozovat) a v případě, že ...

RDBMS PostgreSQL lze velmi jednoduše instalovat na počítač s Windows OS. Tutoriál pro tuto databázi je vytvořen na počítači s Windows a moje zkušenost s PostgreSQL na Windows je dobrá...

 
Odpovědět 11.9.2015 13:31
Avatar
mkub
Redaktor
Avatar
mkub:

faktom stale zostava, ze na poli serverov stale vedie Linux a Windows uz straca silu, ale na poli desktopu je to uplne opacne, vedie Windows a osatne systemy nechava dalekoza sebou...

ako server sa chape file server (FTP server, SAMBA server), ci mail server, print server, ci webserver a na tomto poli Linux je neprekonatelne rozsireny
a v kancelariach je vacsinou nasadeny Windows s kancelarskymi a firemnymi aplikaciami

cize ak tomam zhrnut, tak 80% pre Linux na serveroch by bolo realne cislo, ako aj realne cislo je 2 az 3 % na desktope

 
Odpovědět 25.9.2015 20:17
Avatar
mkub
Redaktor
Avatar
Odpovídá na patrik.valkovic
mkub:

MariaDB je port od MySQL (autor databazy MySQL sa oddelil od MySQL a povodnej firme zanechal databazu azalozil MariaDB), ktorym sa nahradza databaza MySQL

 
Odpovědět 25.9.2015 20:21
Avatar
mkub
Redaktor
Avatar
mkub:

avsetky spomenute databazy su multiplatformove,az na jednu - MS SQL, ktora je uzko prepojena s MS Windows, ale to moc nemeni na rozsirenosti Linuxu na serveroch

 
Odpovědět 25.9.2015 20:23
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na mkub
patrik.valkovic:

Jo ja vím, MariaDB je pouze fork MySQL. V současné době lze aplikaci provozovat s MySQL nebo MariaDB bez nutnosti měnit aplikaci. Nicméně dle mých informací má MariaDB v další verzi obsahovat funkce, které už v MySQL nejsou (ale samozřejmě, kompatibilita bude zachována). Nicméně zmínka by být mohla, protože se domnívám, že se nejedná o zanedbatelný projekt.

O MSSQL jsem mluvil, že není multiplatformní.

Odpovědět 26.9.2015 0:01
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Ján Čongva
Člen
Avatar
Odpovídá na David Novák
Ján Čongva:

Nazdar,

vo svojom komentári si uviedol, aby to auto viac rozvedol ako "viz. příspěvek Davida Č". Môžeš dať odkaz na konkrétny príspevok?

Ďakujem JČ.

 
Odpovědět 9. října 12:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 36. Zobrazit vše