Hlavní navigace

Příchod hackerů: praotec databází II.

Lukáš Erben

Hierarchické databáze se zrodily v podstatě z technologické nutnosti, kterou představoval sekvenční zápis na magnetické pásky. Za jeho první inkarnace je považován generátor reportů 9PAC.

V předchozím díle minisérie o zrodu databází jsme začali vyprávět příběh Charlese Williama Bachmana III. a vůbec první platformy, na které se objevili předchůdci databázových systémů, generátory reportů, IBM 702.

Henry Tellier, který byl autorem prvního generátoru Hanford 702 FMRGS v továrně GE na zpracování plutonia, původně pracoval s klasickými třídičkami a tabelátory děrných štítků. Při návrhu svého generátoru reportů tak o souborech na magnetických páskách uvažoval, jako by to byl velký elektronický tabelátor. Navrhl tedy systém, který třídil, porovnával a tabeloval data na magnetické pásce tak, jako by se nacházela na děrných štítcích.

Z děrných štítků na magnetické pásky

Systém, který jsme v předchozím díle popsali úryvkem z rozhovoru s Charlesem Bachmanem, kombinoval univerzální opakovaně využitelný programový kód se specifickým programem pro konkrétní úlohu, která se připravovala pomocí papírového formuláře, typicky se 120 sloupci, v nichž i programování neznalý uživatel, s pomocí specialisty pro zpracování dat, snadno vyznačil, jaká data mají být „vytažena“ a kde mají být vytištěna. Pravidla a procedury byly následně přeneseny na děrné štítky – ty pak byly sestaveny do „štosu“ silného necelý centimetr, jež představoval jednu dotazovací sadu – report. Několik (až desítky) takových štosů pak generátor reportů zkompiloval a spustil je najednou při jednom čtení pásky.

To byl proces, který jsme popsali již minule, vynechali jsme ale některé důležité detaily. Například to, že každá sada dotazů byla kompilována na základě konkrétní kombinace „štosů“ a byla tak určena pouze pro jedno použití. Krom dotazů a formátování výstupu načítal generátor reportů také děrné štítky popisující příslušné datové záznamy. Jednalo se vlastně o „štosy“ s metadaty – názvem pole, jeho velikostí a typem dat.

Master soubory u IBM 702 byly takzvané „zploštěné soubory“ obsahující informace o vlastní entitě a doplňující data o veškerých hierarchicky nadřazených entitách a jejich vztazích. Výhodou je, že se snadněji vytvářejí, nejsou ale příliš vhodné pro popis komplexních datových struktur a vztahů – většina informací v nich obsažených je hierarchické či síťové povahy. Metadata navíc nebyla uchovávána, ale vytvářena pro každou sestavu reportů. Vznikal tak značný objem redundantních dat – první generátory reportů tak sice umožňovaly automatizovat vyhledávání, třídění a vypisování informací, nebyly ale efektivní ani optimalizované – i tak se ale jednalo o obrovský krok vpřed.


Zdroj: Computerhistory.org

Vznik hierarchických databází byl dán především technologickými omezeními páskových systémů.

Hierarchický 9PAC

Další věcí, která u FMRGS skutečně citelně chyběla, byla možnost prioritizovat, klást krátké dotazy nebo předřadit vytvoření nového záznamu. To a novinky v oblasti master souborů (v nichž bylo možné jasně a trvale definovat hierarchické vztahy) byly hlavními změnami, které přinesl systém 9PAC navržený v rámci výboru pro zpracování dat v pracovní skupině SHARE, kde se sešli zástupci řady firem především z výrobní sféry.

Výbor se zformoval na setkání skupiny v San Diegu – bylo druhé, kterého jsem se zúčastnil a první, na něž dorazil Harry Tellier. Okamžitě jsme začali diskutovat o tom, jak by bylo možné jejich Hanfordský systém přepracovat pro IBM 709. A tak jsme vytvořili Výbor pro zpracování dat v rámci SHARE, společně s několika dalšími lidmi – například F. Jonesem z NAA (North American Aviation). Ten se zajímal spíše o IBM 704 a tak vznikl systém „SURGE“ tedy varianta Hanfordského systému pro IBM 704. Ve skutečnosti se z něj ale stala jakási pokročilá forma assembleru, která neměla s Hanfordským systémem pro IBM 702 moc společného. K nám se záhy přidali lidé ze společností jako Union Carbide, Phillips Petroleum nebo Northern States Power – a také několik divizí GE.“

Z rozhovoru Ch. W. Bachmana s Thomasem Haighem, Insititut Chalese Babbage, 2004

Může to znít trochu divně, ale 9PAC byl svým konceptem vzdálenější pozdějším relačním databázím než Hanfordský systém. Zatímco druhý jmenovaný používal primární klíče u všech relevantních záznamů (například číslo zákazníka jako primární klíč v záznamu zákazníka i jako primární klíč v záznamu faktury), 9PAC vycházel z toho, že data zapisovaná na magnetickou pásku mají formálně (fyzicky) hierarchický vztah. Stal se tak jakousi ranou formou hierarchického databázového modelu.

Hierarchický databázový model představuje datový model, kde jsou data organizována ve stromové struktuře. Data jsou ukládána jako záznamy propojené mezi sebou odkazy. Záznam je sadou polí, z nichž každé obsahuje jen jednu hodnotu. Druh entity záznamu definuje, jaká pole záznam obsahuje. Záznam v hierarchické databázi tak vlastně odpovídá řádku v relačním databázovém modelu a entita odpovídá tabulce.

V hierarchickém databázovém modelu má každý „potomek“ jen jednoho „rodiče“, zatímco každý rodič může mít víc potomků. Pro získání dat z hierarchické databáze je třeba postupovat po celém stromu od kořenového záznamu – jedná se o první databázový model vytvořený v IBM v 60. letech.

Překlad popisu a schéma „Hierarchického databázového modelu“ z anglické Wikipedie.

Projekt generátoru reportů 9PAC byl původně navržen pro elektronkové počítače IBM 709, s příchodem tranzistorové varianty 7090 se mohl rozšířit dále. Jeho život navíc prodloužila emulace 709/7090 na rodině mainframů System 360. 9PAC byl nicméně pouze základní hierarchickou databází. Umožňoval totiž pracovat jen s jedním hierarchickým modelem – bylo možné jej setřídit podle zadání, nebylo ale možné pracovat s několika modely současně, to bylo dáno technologickým omezením páskového systému.

Změna přišla až počátkem šedesátých let s daty ukládanými na diskových systémech a s IDS, Integrated Data Store, který je označován jako první síťový databázový model (komplexnější podoba hierarchické databáze). Ten se stal Bachmanovým životním dílem, za které dostal již v roce 1973 Turingovu cenu. Hierarchické databáze se ale vyvíjely také, například do podoby IBM IMS, databáze a systému pro správu informací, který byl využit například při stavbě raket Saturn V a vesmírných lodí Apollo. To jsou ale další příběhy.

Odkazy

Našli jste v článku chybu?
Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Měšec.cz: Komu musí od ledna zvýšit mzdu?

Komu musí od ledna zvýšit mzdu?

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Vitalia.cz: Vychytané vály a válečky na vánoční cukroví

Vychytané vály a válečky na vánoční cukroví

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

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

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

Vitalia.cz: Potvrzeno: Pobyt v lese je skvělý na imunitu

Potvrzeno: Pobyt v lese je skvělý na imunitu

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

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

Horní cesty dýchací. Zkuste fytofarmaka

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky