網(wǎng)狀數(shù)據(jù)庫之父—Charles Bachman
今天我們要介紹的人物,出身于二戰(zhàn),他來自美國陸軍防空高炮師,名叫Charles Bachman。戰(zhàn)爭結(jié)束后,Bachman進(jìn)入密歇根大學(xué),1948年獲得機械工程學(xué)士學(xué)位,1950年獲得賓夕法尼亞大學(xué)碩士學(xué)位,同年獲得沃頓商學(xué)院MBA學(xué)位。隨后他加入密歇根州的陶氏化工。1960年,Bachman跳槽加入通用電氣,并在這里開發(fā)了第一代網(wǎng)狀數(shù)據(jù)庫管理系統(tǒng)—IDS。
1940年代,計算機在特殊的世界局勢中誕生,主要為了彈道計算、密碼破譯和原子彈研究等工作,這些全是基于數(shù)值的。當(dāng)時的計算機只能處理數(shù)值,無法處理字母等其他符號;當(dāng)時也沒有大容量的存儲器。到了1950年代初,這兩個問題得到了歷史性的突破,計算機可以處理字母等各種符號了,人們把磁帶系統(tǒng)引入了計算機,作為外部存儲器。但是,磁帶不僅速度奇慢,更大的問題是,它是順序讀寫的,對于一條磁帶而言,數(shù)據(jù)結(jié)構(gòu)沒有意義,想取個數(shù)是需要倒帶的。1956年,IBM公司推出了磁盤系統(tǒng),容量大、轉(zhuǎn)速很快,幾乎是隨機讀寫的。這個質(zhì)的飛躍,使得數(shù)據(jù)的邏輯結(jié)構(gòu)從此是非線性的了。此時最直觀的想法,自然是樹狀結(jié)構(gòu),IBM 360系列引入了世界上最早的數(shù)據(jù)庫管理系統(tǒng)之一IMS,此系統(tǒng)為1969年的阿波羅登月立下了汗馬功勞,它就是基于樹狀結(jié)構(gòu)的。無論程序還是數(shù)據(jù),本質(zhì)都是對現(xiàn)實世界的一種抽象,我們希望這種抽象能盡可能貼切反映現(xiàn)實世界中的關(guān)系。很明顯,現(xiàn)實世界中的事物不都是樹狀的。于是我們又想到了網(wǎng)狀結(jié)構(gòu)。至此,我們就來到了Bachman當(dāng)時所處的背景。
網(wǎng)狀數(shù)據(jù)庫,聽起來很簡單。線性結(jié)構(gòu)就是樹狀的一種特例,我們花了10多年才完成這種泛化,因為這里面需要隨機存儲器,需要硬件支持。但是,從樹狀到網(wǎng)狀的泛化,并不需要什么新型硬件,似乎只需要一個新型的數(shù)據(jù)庫管理系統(tǒng)。然而這個管理系統(tǒng)并不容易實現(xiàn)。在樹狀結(jié)構(gòu)中,任何結(jié)點有且只有一條訪問路徑,就像在日常操作系統(tǒng)中,不可能建出另外一個根目錄,也不能建出一個同時屬于多個目錄的子目錄。但在網(wǎng)狀結(jié)構(gòu)中,這都是可能的,可以有多個結(jié)點沒有父結(jié)點(但此時已不能把它們叫做“根”了),一個結(jié)點也可以有多個父結(jié)點。有多個父結(jié)點就意味著,要訪問一個結(jié)點,可能存在多條不同的路徑。這樣復(fù)雜的系統(tǒng)要如何管理?網(wǎng)狀數(shù)據(jù)庫還有很多類似的困難,等著人們來解決。
這一等,又將近10年。Bachman加入通用電氣之后,負(fù)責(zé)涉及全公司各部門的綜合管理系統(tǒng),包括生產(chǎn)規(guī)劃、配件和原材料供給、訂單處理及反饋等許多方面。他要使用自家生產(chǎn)的GE 225計算機,設(shè)計全方位的企業(yè)生產(chǎn)信息和控制系統(tǒng)(MIACS)。1964年,該系統(tǒng)問世,包括很多組件,底層是集成數(shù)據(jù)存儲系統(tǒng),也就是我們前面所說的IDS,這就是世界上第一款網(wǎng)狀數(shù)據(jù)庫管理系統(tǒng)。
時勢造英雄,Bachman抓住歷史時機,結(jié)合工業(yè)界的需求,創(chuàng)造了革命性的產(chǎn)品。1970年,通用電氣的計算機業(yè)務(wù)被霍尼韋爾收購,Bachman來到波士頓,在霍尼韋爾高級研究部從事數(shù)據(jù)庫工作。他還曾為ISO委員會設(shè)計過開放系統(tǒng)互連(OSI)模型,并擔(dān)任過美國國家標(biāo)準(zhǔn)委員會的數(shù)據(jù)庫管理系統(tǒng)研究組副主席,致力于數(shù)據(jù)庫管理語言的標(biāo)準(zhǔn)化工作。1971年,Bachman的研究組提出了DBTG報告,其中確立了包含外部、抽象和內(nèi)部的三層模式,該模式在數(shù)據(jù)庫領(lǐng)域有著極為深遠(yuǎn)的影響力。1973年,ACM授予Bachman圖靈獎,表彰他在數(shù)據(jù)庫領(lǐng)域,尤其是網(wǎng)狀數(shù)據(jù)庫管理系統(tǒng)方面的杰出貢獻(xiàn)。Bachman始終活躍在工業(yè)界,他是僅有的幾位沒有學(xué)術(shù)背景、沒有教職、甚至沒有博士學(xué)位的圖靈獎得主之一。