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:
- Oracle
- MySQL
- MS-SQL
- MongoDB
- PostgreSQL
- DB2
- MS Access
- Cassandra
- SQLite
- 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 od listopadu 2012 do září 2015 (stav z 7. 9. 2015 pro MySQL, MS-SQL, SQLite, PostgreSQL):

Zdroje:
- [1] http://cs.wikipedia.org/…atab%C3%A1ze
- [2] http://www.root.cz/…ch-databazi/
- [3] http://en.wikipedia.org/…_disk_drives
- [4] http://en.wikipedia.org/wiki/Database
- [5] http://en.wikipedia.org/wiki/MySQL
- [6] http://en.wikipedia.org/…es_(database)
- [7] http://en.wikipedia.org/wiki/PostgreSQL
Komentáře


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