Hlavní navigace

Historie relačních databází

Karel Žák 19. 10. 2001

Více, než jsme schopni si představit, je život nás všech provázán s databázemi. Jsou v nich naše peníze, naše studijní výsledky, důchody, geny DNA nebo také fotografie s popiskou WANTED.

Velkým zájemcem o databáze byly a jsou statní úřady USA. Již v roce 1890 vytvořil Herman Hollerith první automat na bázi děrných štítků. V roce 1911 se jeho firma spojila ještě s další firmou a vznikla firma International Business Machines. Ano, to je to, co dnes známe pod zkratkou IBM.

V období první světové války úřady používaly systémy děrných štítků. Když byla v roce 1935 v USA uzákoněna (Social Security Act) nutnost vedení informací o cca 26 milionech zaměstnancích, vytvořila IBM pro zpracování podobných úloh nové zařízení. Byl to první digitální počítač pro komerční využití, tzv. UNIVAC I., založený na státem podporovaném projektu Electronic Discrete Variable Automatic Computer (EDVAC) z University of Pennsylvania. V roce 1959 měl Pentagon již více než 200 počítačů. Jednalo se pochopitelně o stroje, jejichž mozkem byl hlavně děrný štítek.

V roce 1960 vzniklo seskupeni Data Systems Languages (Codasyl), ustavené ministerstvem obrany USA pro standardizaci software aplikací, výsledným produktem byl common business-oriented language (COBOL). Další pokrokem byl přechod k magnetickým diskům namísto dříve používaných magnetických pásek, které umožňovaly jen sériový přístup k datům (což už z principu značně stěžovalo vyhledávání dat a možnost definice nějakého efektivnějšího modelu DB).

V roce 1961 Charles Bachman z General Electric představil první integrovaný datový sklad s prvním náznakem DB managementu a jinými vlastnostmi. Později v šedesátých letech pak Bachman a další výzkumníci založili v rámci seskupení Codasyl samostatnou Database Task Group (DBTG). Skupina pak publikovala základní specifikaci pro programovací jazyky (zvláště pak COBOL) určené pro práci s databázemi. Na bázi Codasyl specifikace posléze vznikla řada produktů od firem Eckert-Mauchly Computer Corporation (počítače Univac), Honeywell Incorporated, Siemens AG a pro mikropočítače od Digital Equipment Corporation (DEC) a Prime Computer Corporation.

Codasyl produkt měla pochopitelně i IBM, uvedla ho v roce 1968 pod názvem IMS. Byla to odvozenina od věcí vzniklých během projektu Apolo v NASA (National Aeronautics and Space Administration) a pracovala na počítači System/360. Většina Codasyl kompatibilních databází používala síťový model dat (zatímco IBM u své implementace použila hierarchický model). Jak už to tak bývá, našel se u IBM zaměstnanec nespokojený jak s Codasyl databázemi, tak i s vlastní implementací od IBM. Jmenoval se Ted Codd a byl to absolvent Oxfordu, který vstoupil do IBM roku 1949. Codd v roce 1970 publikoval článek „A Relational Model of Data for Large Shared Data Banks“, což byl návrh na implementaci nového datového modelu, který byl nazván „relačním“.

Codd načrtl možnost, jak použít relační kalkul a algebru i pro netechnické uživatele při ukládání a manipulaci s daty. Dle jeho pojetí k tomu mělo být používáno srozumitelných příkazů vycházejících z běžné angličtiny, tedy ne specifický jazyk, který vypadá jako revoluce nepísmenových značek, jak to známe u některých jiných jazyků. Už tato původní koncepce předpokládala ukládání dat do tabulek. Tento návrh byl založen na nezávislosti dat na použitém hardware, na způsobu jejich fyzického uložení, dále pak na přístupu k datům pomocí ne-procedurálního jazyka. Uživatel měl mít možnost specifikovat operaci nad jím definovanou množinou dat namísto pouhé manipulace s jedním záznamem.

Dle relační teorie lze pomocí základních operací (sjednocení, kartézský součin, rozdíl, selekce, projekce a spojení) uskutečnit veškeré operace s daty a ostatní operace jsou již jen kombinacemi těchto pěti.

Z počátku byl tento návrh vnímán jako intelektuální kuriozita a ani samotná IBM se nechtěla vrhnou do implementace něčeho, co by ve své podstatě zavrhlo její produkt IMS. Codd proto publikoval svůj návrh i mimo IBM.

Nakonec po různých debatách vznikly dva projekty relačních databází, a to System-R v rámci IBM a od roku 1972 projekt Ingres na University of California at Berkeley (UC-Berkeley) s podporou armády a National Science Foundation (NSF).

Vývoj u IBM prošel dvěma fázemi. V té první v období 1974–1975 šlo hlavně o praktické ověření návrhu relačního modelu. V druhé fázi 1978–1979 se implementoval již plně funkční více-uživatelský systém. Původní jazyk System-R byl SEQUEL (Structured English Query Language), v listopadu roku 1976 pak byla v IBM Journal of R&D popsána verze SEQUEL2, u které bylo posléze změněno jméno na SQL. Časem byl jazyk uznán jako standard. V této době se stále ještě nepodařilo přesvědčit management IBM o možnosti nahrazení staré IMS technologie produktem na bázi relací.

Druhá větev vývoje na UC-Berkeley byla vedena dvojicí Michael Stonebraker a Eugene Wong. Motivací bylo vytvořit systém pro geografická data Berkeley-ské ekonomické skupiny. Ostatně Ingres znamená Interactive Graphics and Retrieval System. Pracovalo se zde na počítačích PDP-11/45.

Ingres a System-R byly vyvíjeny pod různými operačními systémy a hardware. Ingres nepoužíval SQL, ale vlastní velmi podobný jazyk QUEL. Postupně byl Ingres uvolněn asi v tisícovce kopií a Michael Stonebraker založil Ingres Corporation pro komercializaci kódu Ingresu. Další ze členů Berkeley týmu Robert Epstein odešel a stal se spoluzakladatelem Sybase. Komerční verze Ingresu byla dostupná v roce 1980. Další ze členů Ingres týmu Paula Hawthorn odešel a podílel se na založení Illustra Information Technologies Incorporated, v současné době známé jako Informix.

Sám profesor Stonebraker pracoval s Ingres Corporation, Illustra a Informix. Lze říci, že kód z Berkeley se stal inspirací nebo i přímo zdrojem k založení téměř všech dnes známých SQL databází. Tým pracující na původním Ingres neměl nikdy více než pět až šest programátorů, u IMB pracovalo na System-R 15 programátorů. Mezi oběma týmy existovala spolupráce a Berkeleyská univerzita posílala studenty na stáže do IBM.

První SQL databází na trhu byl v roce 1980 Oracle pro počítače VAX. Firmu Oracle založil Larry Ellison a jeho počáteční inspirace byla v System-R od IBM. Pochopitelně, že posléze po určitých pochybnostech managementu přišla na trh i IBM se svým produktem DB2 (pro počítače MVS). Tato situace je pěknou ukázkou neschopnosti managentu odpoutat se od starého produktu a dokázat uvést na trh produkt nový. Váháte-li, uvede produkt na trh konkurence, a to i přesto, že vaše firma stála u zrodu daného odvětví. Stejně tak Berkeley větev je pěknou ukázkou toho, jak přenést nápad a produkt laboratoří do reálného světa. Stačí použít trošku přívětivou licenci.

Výzkum v oblastech relačních databází byl prováděn i na jiných místech než jen u IBM a Berkeley. Určitý podíl mají University of Toronto, University of Utah, University of Wisconsin.

Osmdesátá léta lze považovat za počátek zlatého věku relačních databází.

V roce 1987 ISO a ANSI publikují počáteční standard SQL, v roce 1989 ISO publikuje dodatek Integrity Enhancement Feature a začíná se hovořit o SQL89. V roce 1992 dochází k první upravě tohoto ISO standardu, který je pak znám jako SQL2 nebo SQL92.

Původní projekt Ingres byl v roce 1982 ukončen a v roce 1985 transformován do projektu Postgres, jehož snahou bylo vytvořit relačně-objektovou DB. Objektově orientovaná DB umožňuje uživatelům definici vlastních metod, pomocí kterých se přistupuje k datům a manipuluje s nimi. Projekt Postgres trval až do roku 1994 a vedl ho opět „otec“ Berkeley databází Michael Stonebraker. Po ukončení projektu v letech 1994–1995 se dva studenti zmíněné univerzity Jolly Chen a Andrew Yu rozhodli dále pracovat na akademickém kódu Postgresu a přejmenovali původní Postgres na Postgres95. V létě roku 1996 přechází Postgres95 do open source podoby a je přejmenován na PostgreSQL. Tento je vyvíjen dodnes. Osobně nevím o OpenSource produktu, který by byl tak přímo a výrazně svázán s historií nějakého počítačového oboru a tak moc ho ve své historii ovlivnil.

Kalifornská univerzita v Berkeley částečně pokračovala ve vývoji původního Postgresu, a to v armádou podporovaném projektu nazvaném Mariposa. Tento SQL server se experimentálně soustředil hlavně na replikace v sítích s 10 000 uzly (ano, to číslo čtete dobře) – nejedná se realtime replikace, ale o skládání fragmentů.

Původní projekt System-R byl testován s 8MB dat. V současné době se provozují databáze s terabyty dat. Jeden s největších DB systémů se buduje v CERNu, měl by být spuštěn v roce 2005 a pojmout Exabyte dat (1 Exabyte = 1,000 Petabytes = 1 * 1018 Bytes).

SQL databáze nejsou odvětvím, kde by byl vývoj takový, že každý den je zde nová verze DB a její nové vlastnosti. Jak někdo řekl, vývoj podobných projektů trvá 10–15 let. Samotné dnes existující standardy představují dostatečnou inspiraci v tom, co „dál“, protože ne vše z těchto standardů je již podporováno a i mezi jednotlivými producenty DB existují rozdíly v úrovni podpory těchto standardů.

Našli jste v článku chybu?

29. 5. 2003 12:26

P.Zakopal (neregistrovaný)

Stoji za to (pro inspiraci) si tento(pouze) clanek
http://www.root.cz/clanek/892
zobrazit i v Netscape comunicator 4.74, i kdyz si asi moc nepoctete...



19. 10. 2001 19:12

Solvina (neregistrovaný)

Supr clanek, lituju ze nemam Q ucet ;(.

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Vitalia.cz: Nestlé vyvinula nový typ „netloustnoucího“ cukru

Nestlé vyvinula nový typ „netloustnoucího“ cukru

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?