nav line

Historie a trendy ve vývoji databází

V seriálu o databázích vám představím vývoj tohoto počítačového odvětví. Projdeme od minulosti přes současnost až k nejnovějším trendům. První díl bude patřit úvodu do této problematiky.

Jelikož téma databází je velmi rozsáhlé, rozhodl jsem se jej rozdělit do třech tematicky nezávislých celků. V tomto díle se od potřeby třídit data společně posuneme až do počítačového věku. Zmíníme se o vývoji databázových modelů, systémech řízení báze dat a dotazovacích jazycích. V dalším pokračování přijde řeč na jednotlivé typy databázových modelů, jakož i systémy řízení báze dat a jejich dotazovací jazyky po technické stránce. Přehledně si shrneme i jejich výhody a problémy. Při tom se dostaneme i k méně častým typům databází, jako jsou například TimeSeries databáze, a i k možnostem jejich využití. V třetím díle nás pak čeká exkurz do stále častěji skloňovaného pojmu Big Data, podíváme se na specializované databázové file systémy, třídící algoritmy, seznámíme se s open-source technologiemi Apache (Hbase, Hadoop, apod.) a přijde i na malé překvapení.

Hluboká historie

Vznik databází tak, jak je dnes známe, se datuje do 50. let dvacátého století. Potřeba uchovávání a třídění dat je však mnohem starší.
Pokud vynecháme historické jeskynní malby a ojedinělé samostatně nalezené hliněné tabulky, lze považovat za první doloženou zmínku o ucelené snaze uchovávat data knihovnu v Ugaritu (město na území dnešní Sýrie). Zde se nalezlo pohromadě větší množství hliněných tabulek s diplomatickým textem a literární tvorbou pocházející již ze dvanáctého století před naším letopočtem. Máme tedy doloženou snahu data sbírat, nikoliv však třídit. Snaha o třídění se objektivně potvrdila až u knihovny v římském Foru Romanu. Nicméně tato hluboká historie je pouze zrnkem písku v čase.
Za předchůdce počítačových databází je považována až kartotéka. Její dějiny nesahají tak hluboko. Je spojena se jménem přírodovědce Carla Linnaea. Ten v 18. století našeho letopočtu zavedl pro třídění svých záznamů systém, kdy každý přírodovědný druh uváděl na samostatný list papíru. Díky tomu mohl záznamy jednoduše organizovat a doplňovat.

Zapojení elektromechanických strojů

Kartotéky měly jeden velký nedostatek – manipulaci s nimi musel provádět člověk. To bylo velmi omezující. Proto již v roce 1890 vytvořil americký statistik a vynálezce Herman Hollerith pro potřeby státních úřadů při sčítání lidu počítací stroj, který využíval pro uchování informací děrné štítky. Došlo tak k prvnímu elektromechanickému zpracování dat. V roce 1911 proběhlo sloučení čtyř firem, z niž jedna byla Hollerithova, a vznikla tak Computing Tabulating Recording Corporation. Tato firma se později přejmenovala na International Business Machines Corporation. Ta existuje dodnes a vystupuje pod svou zkratkou IBM. Elektromechanické zpracování dat bylo na technologickém výsluní další půl století.

Průnik digitalizace

K technologickému posunu a digitalizaci přispěly opět státní úřady. Před druhou světovou válkou (v roce 1935) byla v USA uzákoněna povinnost evidovat čísla sociálního pojištění zaměstnanců. Na žádost úřadů vytvořila nám již dobře známá společnost IBM nový stroj. Jeho nasazení proběhlo v roce 1951 opět při sčítání lidu. Je znám pod názvem UNIVAC I a v počítačové historii má výsadní postavení. Byl to první digitální sériově vyráběný počítač pro komerční využití. Časem se nicméně projevila neefektivnost používaní strojového kódu pro databázové úlohy.


Nástup programovacích jazyků

28. a 29. května 1959 proběhla konference, jejímž cílem bylo probrat a zvážit možnosti zavedení společného počítačového programovacího jazyka. Již v roce 1960 za tímto účelem vzniklo seskupení Conference on Data Systems Languages (známé pod zkratkou CODASYL) a na konferenci v témže roce byl tento jazyk popsán a označen názvem Common Business-Oriented Language, zkráceně COBOL (verze COBOL-60). Chci tímto zmínit historický přínos důstojnice Námořnictva Spojených států, Grace Hopperové, která přišla s myšlenkou programovacího jazyka blízkého angličtině. Tato myšlenka následně ovlivnila většinu programovacích jazyků a přetrvala dodnes. Vývoj programovacích jazyků byl spjat s přechodem z magnetických pásek na magnetické disky, které umožnovaly přímý přístup k datům. Tím byl položen základ moderních databázových systémů tak, jak je známe dnes.

Databázový management neboli Systém řízení báze dat

V roce 1961 představil Charles Bachman z General Electric první datový sklad. Prvky a náznaky databázového managementu Bachmanova datového skladu vedly v roce 1965 na CODASYL konferenci k myšlence a následně vytvoření koncepce databázových systémů. Vznikl výbor Database Task Group, který měl tuto koncepci rozvinout a jehož členem byl i Bachman. Tento výbor publikoval v roce 1971 zprávu, která definovala Systém řízení báze dat. Zavedla pojmy jako integrita dat, datový model, schéma databáze, atomita, entita. Byla popsána architektura síťového databázového systému.
V této době (1965-1970) se dělily databázové systémy na dva základní modely: síťové (většina CODASYL databázových systémů) a hierarchické/stromové (implementace od IBM). Hierarchická koncepce báze dat narážela na omezení při modelování reality a i síťová koncepce měla své nedostatky. To si uvědomil Edgar Frank Codd, pracovník IBM, který přišel v roce 1970 s myšlenkou relačního modelu báze dat. Relační teorie zahrnovala základní operace pro práci s daty (selekce, projekce, spojení, sjednocení, kartézský součin a rozdíl), díky kterým bylo možné uskutečnit veškeré potřebné operace. Frank se zároveň inspiroval myšlenkou Grace Hopperové a navrhoval pro dotazovací jazyk použití srozumitelných výrazů vycházejících z běžné angličtiny.

SQL a zlatý věk databázový

Hlavním znakem těchto databázových systémů bylo ukládání strukturovaných dat. Zavedení algebry, relačního kalkulu a srozumitelných výrazů vedlo k vytvoření jazyka SEQUEL (Structured English Query Language). Z tohoto jazyka povýšením na verzi 2 vznikl strukturovaný dotazovací jazyk SQL. Tento jazyk byl v roce 1987 schválen a stanoven jako standard ISO a ANSI. Od 70. let minulého století se díky úspěchu SEQUELu dotazovací jazyky inspirovaly myšlenkami a teorií E. F. Codda. Z projektu Ingres na Kalifornské Universitě v Barkley a z jazyka QUEL se vyvinul další druh databázového modelu. Jednalo se o objektově-relační databázový model, známý pod názvem Postgres. K propojení Postgres a SQL došlo v roce 1995, kdy byl interpret dotazovacího jazyka QUEL nahrazen interpretem jazyka SQL. V roce 1996 došlo k přejmenování na jazyk PostgreSQL.

Vše k objektům

Vznik objektově-relačního modelu byl úzce spjat s oběma implementovanými modely. Strukturovaný objektový model zažil masivní vývoj převážně v 90. letech minulého století, i když jeho vznik se pojí s obdobím zlatého databázového věku. Tlak činěný v 90. letech na objektové programování byl přenesen i do databázového světa. V této době zažívají rozmach čistě objektové databáze. Pro komunikaci se užívá Object Query Language postavený nad standardem SQL-92 a Object Definition Language, jenž vychází z užívaných programovacích jazyků. Vzniká standard ODMG-93 pro definiční jazyky jako nadmnožina obecnějšího modelu Common Object Model (COM). Ruku v ruce s programováním se stejným jazykem i komunikuje, získávají se a prezentují data z databází. Užitím stejného jazyka dochází k omezení výskytu chyb, které mohou obsahovat kroky převodu z relačního modelu do objektů. Výhodou objektově orientovaných systémů řízení báze dat je možnost přímého vyjádření složitosti modelované reality v databázi, ale o tom více již příště.

Přechod k nestrukturovaným 'NoSQL”databázím

Na přelomu tisíciletí dochází k určitému posunu ve vnímání dat. Objevují se hranice v přístupu postaveném na strukturovaném modelu dat (relační/objektově-orientovaný model) a objektové aplikaci. To vedlo k oprášení myšlenky nestrukturované databáze. Tato myšlenka vznikla již na konci 60. let minulého století. Využití tohoto modelu však bylo v tomto období velmi střídmé. Dnešní nestrukturované databáze označované NoSQL (termín NoSQL poprvé použil v roce 1998 Carlo Strozzi) sdílejí pouze tuto základní myšlenku. Rozmach nestrukturovaných databází se pojí se společností Google. Ta představila svůj návrh databáze pojmenované BigTable určené pro velké množství dat. Tímto návrhem se inspirovala společnost Amazon, která představila svůj projekt nestrukturované databáze nazvané Dynamo. Tyto návrhy databází se později staly základem pro dnes používané NoSQL databáze. V těchto návrzích byl největší rozdíl v tom, že databáze již nebyly řádkově orientované jako SQL databáze, nýbrž sloupcově. O rozdílu při řádkovém a sloupcovém ukládání dat se dozvíte více příště.

Shrnutí

Problematika správně zvoleného úložiště dat je v poslední době hodně omílána. K bezproblémovému a výkonnému běhu aplikací je vhodně zvolené datové úložiště nezbytnou podmínkou, stejně tak jako vhodně použitá technologie pro práci s daty. Příště si tedy řekneme více o technickém řešení jednotlivých databázových modelů, výhodách a nevýhodách navázaných systémů řízení báze dat a dotazovacích jazyků. Projdeme a definujeme odkazované pojmy, ale i pojmy jako databázová integrita, OLAP (online analytical processing) či škálovatelnost databáze.

Zdroje:

www.wikipedia.org
www.root.cz
www.ibm.com
www.google.com
www.amazon.com

Ohodnoťte článek

Historie a trendy ve vývoji databází

Související články

Vyhledávání na blogu

Webová integrace

Webová integrace jako nová oblast pro business „velkých" webových agentur.

o webové integraci

Profily blogujících