2.5 信息大腦——主機(jī)
2.5 信息大腦——主機(jī)
主機(jī)從來(lái)都覺(jué)得自己是IP世界的主人,IP世界所有其他元素都是為它服務(wù)的。
沒(méi)錯(cuò),站在自己的角度看世界,誰(shuí)都會(huì)認(rèn)為自己是絕對(duì)的主角。
TCP/IP世界的信息,是在主機(jī)之間進(jìn)行交互的。PC、服務(wù)器、工控機(jī),這些都是主機(jī)!還有人會(huì)問(wèn),上網(wǎng)本是不是主機(jī)?各種PAD是不是主機(jī)?智能手機(jī)是不是主機(jī)?這些問(wèn)題的確讓我們有點(diǎn)難以回答。廣義點(diǎn)講,具有計(jì)算、存儲(chǔ)能力的通信終端,都可以歸為主機(jī),本書(shū)并不打算過(guò)多地糾纏于這些概念的嚴(yán)肅厘清(其實(shí)再嚴(yán)肅也很難厘清),這方面的似是而非無(wú)傷大雅。
我們說(shuō)“互連”,其目的就是為了把所有的主機(jī)連接在一起,其他元素,路由器、交換機(jī)、防火墻、網(wǎng)線、無(wú)線電頻率,似乎都是陪襯。主機(jī)不但有存儲(chǔ)功能,還要接收、發(fā)送、生成、處理IP包,并將IP包中的信息通過(guò)外設(shè)呈現(xiàn)出來(lái),使人的感官能感受到,也就是聽(tīng)到或者看到(未來(lái)可能會(huì)有“聞到”)。
TCP/IP世界的主機(jī)除了CPU、內(nèi)存、用于等硬件連網(wǎng)的網(wǎng)絡(luò)硬件卡外,通常具備以下的幾類部件與IP有直接聯(lián)系:以太網(wǎng)卡、操作系統(tǒng)、協(xié)議棧、數(shù)據(jù)庫(kù)、應(yīng)用軟件。
1.PC
PC(個(gè)人計(jì)算機(jī))這個(gè)名詞我們就不解釋了,就是那個(gè)你辦公桌上擺著的,每天都要面對(duì)的,干什么工作似乎都離不開(kāi)的、讓你又愛(ài)又恨的家伙。
1981年8月,國(guó)際巨頭IBM在紐約曼哈頓華爾道夫飯店的會(huì)議廳展示了一款小型計(jì)算機(jī)。在此之前,計(jì)算機(jī)是普通用戶難以企及的龐然大物。IBM公司為它的新產(chǎn)品命名為IBM PC(Personal Computer,個(gè)人計(jì)算機(jī))。
盡管之前已經(jīng)有幾家公司在做類似的產(chǎn)品,但因?yàn)镮BM的實(shí)力和它準(zhǔn)確的價(jià)格、性能定位,使其迅速成為個(gè)人計(jì)算機(jī)業(yè)的霸主。
1982年,美國(guó)《時(shí)代》周刊評(píng)選這臺(tái)PC的老祖宗為“年度封面人物”,在隨后的兩年時(shí)間里,IBM賣(mài)出了20多萬(wàn)臺(tái)PC,這可是它當(dāng)初確定的未來(lái)5年的銷(xiāo)售目標(biāo)!
《時(shí)代》周刊當(dāng)時(shí)還預(yù)測(cè)“2000年將會(huì)有8 000萬(wàn)臺(tái)PC投入使用”,但實(shí)際上21世紀(jì)初全球個(gè)人電腦總數(shù)已達(dá)5億臺(tái)!更重要的是,PC給人們生活帶來(lái)了無(wú)法逆轉(zhuǎn)的改變。
我們有必要了解一下IBM,這家1911年創(chuàng)立于美國(guó)的企業(yè)(剛成立時(shí)候叫作CTR公司,1924年改名為IBM,即“國(guó)際商用機(jī)器公司”),總部位于紐約阿蒙克市,目前擁有全球雇員30多萬(wàn)人,是全球最大的信息技術(shù)和業(yè)務(wù)解決方案公司。
然而在IBM創(chuàng)立之初,該公司的主要業(yè)務(wù)是商用打字機(jī)、員工計(jì)時(shí)系統(tǒng)、磅秤(雷倒!)、自動(dòng)切肉機(jī)(再次雷倒!),而后轉(zhuǎn)為文字處理機(jī)、穿孔卡片設(shè)備等。第二次世界大戰(zhàn)期間,IBM甚至還造過(guò)武器。
今天的IBM是一艘工業(yè)企業(yè)的超級(jí)航母,在多個(gè)領(lǐng)域都有很高造詣。
在計(jì)算機(jī)產(chǎn)業(yè),它是長(zhǎng)期的領(lǐng)導(dǎo)者,在大型機(jī)/小型機(jī)和便攜機(jī)方面的成就舉世矚目。當(dāng)年與國(guó)際象棋世界冠軍卡斯帕羅夫?qū)?zhàn)的超級(jí)計(jì)算機(jī)“深藍(lán)”以及“更深的藍(lán)”就出自IBM。
軟件方面,IBM是除微軟外的世界第二大實(shí)體,整合有五大軟件品牌,包括Lotus、WebSphere、IOD、Rational和Tivoli等,在各自方面都是領(lǐng)先者或強(qiáng)有力的競(jìng)爭(zhēng)者。
2005年,IBM出售桌面計(jì)算機(jī)與筆記本電腦業(yè)務(wù)給中國(guó)IT企業(yè)——聯(lián)想集團(tuán)。自此,Thinkpad易主Levono。
2009年,IBM的CEO彭明盛提出了一個(gè)龐大的近乎瘋狂的“智慧地球”計(jì)劃,這將成為未來(lái)10年藍(lán)色巨人IBM戰(zhàn)略發(fā)展的核心,每年將投入30億美元用于此計(jì)劃的實(shí)施。
這個(gè)計(jì)劃的定義大致是:將感應(yīng)器嵌入和裝備到電網(wǎng)、鐵路、大壩、建筑等各種現(xiàn)實(shí)實(shí)體中,形成物物相聯(lián),然后通過(guò)超級(jí)計(jì)算機(jī)和云計(jì)算將其整合,實(shí)現(xiàn)社會(huì)與物質(zhì)世界的高度融合。在此基礎(chǔ)上,人類可以更加精細(xì)和動(dòng)態(tài)地管理生產(chǎn)和生活,達(dá)到“智慧”狀態(tài),提高資源利用率和生產(chǎn)力水平,改善人與自然界的關(guān)系。
在第10章的“物聯(lián)網(wǎng)”一節(jié),我們將會(huì)重新開(kāi)啟這一話題。
2.服務(wù)器與工控機(jī)
服務(wù)器是一種運(yùn)行管理軟件以控制對(duì)網(wǎng)絡(luò)或網(wǎng)絡(luò)資源(磁盤(pán)驅(qū)動(dòng)器、打印機(jī)等)進(jìn)行訪問(wèn)的計(jì)算機(jī),并能夠?yàn)樵诰W(wǎng)絡(luò)上的計(jì)算機(jī)提供資源,使其猶如工作站那樣地進(jìn)行操作。
工控機(jī)(Industrial Personal Computer)是一種加固的增強(qiáng)型個(gè)人計(jì)算機(jī),它可以作為一個(gè)工業(yè)控制器在工業(yè)環(huán)境中可靠運(yùn)行。
我們知道,在工業(yè)現(xiàn)場(chǎng),一般都有強(qiáng)烈的震動(dòng),灰塵特別多,還有很高的電磁場(chǎng)干擾,并且一般工廠都是連續(xù)作業(yè)的,工人三班倒,計(jì)算機(jī)極少關(guān)機(jī)。
在這樣的環(huán)境下,一般的PC機(jī)和服務(wù)器是支撐不住的,這就要工控機(jī)大顯身手了。
工控機(jī)的機(jī)箱采用鋼結(jié)構(gòu),有較高的防磁、防塵、防沖擊的能力,機(jī)箱內(nèi)配置有專用電源,抗干擾能力很強(qiáng)。最為重要的一點(diǎn)是,工控機(jī)連續(xù)工作的能力很強(qiáng),很多工控機(jī)都連續(xù)工作達(dá)數(shù)年之久!
早在20世紀(jì)80年代初期,美國(guó)AD公司就推出了類似工控機(jī)的MAC-150工控機(jī),隨后IBM公司正式推出工業(yè)個(gè)人計(jì)算機(jī)IBM7532。
3.虛擬主機(jī)
一臺(tái)服務(wù)器,只提供一種資源,這種資源對(duì)硬件和帶寬的要求并不高,無(wú)論是CPU、內(nèi)存還是硬盤(pán),都是一種浪費(fèi)。能不能在這臺(tái)服務(wù)器上運(yùn)行多個(gè)應(yīng)用呢?
虛擬主機(jī)將在這樣的應(yīng)用中大顯身手。
虛擬主機(jī)是在網(wǎng)絡(luò)服務(wù)器上劃分出一定的磁盤(pán)空間供用戶放置站點(diǎn)和應(yīng)用組件,提供必要的站點(diǎn)功能與數(shù)據(jù)存放,以及必要的傳輸功能。
CPU和內(nèi)存,可以同時(shí)處理多個(gè)進(jìn)程;硬盤(pán)是文件系統(tǒng),多個(gè)應(yīng)用之間并不沖突,甚至還互相有關(guān)聯(lián)。
這一方案的出現(xiàn),對(duì)IP世界產(chǎn)生了重大貢獻(xiàn)!由于多臺(tái)虛擬主機(jī)共享一臺(tái)真實(shí)主機(jī)的資源,每個(gè)用戶承受的硬件費(fèi)用、網(wǎng)絡(luò)維護(hù)費(fèi)用、通信線路費(fèi)用均大幅度降低,互聯(lián)網(wǎng)真正成為人人用得起的網(wǎng)絡(luò),這對(duì)中小企業(yè)而言意義重大。
每一個(gè)虛擬主機(jī)都具有獨(dú)立的域名和完整的互聯(lián)網(wǎng)服務(wù)器(支持WWW、FTP、電子郵箱或其他互聯(lián)網(wǎng)服務(wù))功能。從用戶角度根本看不出他們?cè)谕慌_(tái)服務(wù)器上。
當(dāng)然,虛擬主機(jī)不是萬(wàn)能的,它也會(huì)受到性能限制。一臺(tái)主機(jī)只能夠支持一定數(shù)量的虛擬主機(jī),具體數(shù)量視主機(jī)性能而定;當(dāng)超過(guò)這個(gè)數(shù)量時(shí),性能急劇下降。
虛擬主機(jī)暫時(shí)介紹到這里,在云計(jì)算一節(jié)里,我們還會(huì)提到一個(gè)與此類似的概念——虛擬化。
4.以太網(wǎng)卡
以太網(wǎng)卡是一塊能插在計(jì)算機(jī)上的卡,一般它們都被插到計(jì)算機(jī)的PCI插槽上。這張卡一般至少有一個(gè)以太網(wǎng)接口(一般是RJ45的接口)。以太網(wǎng)卡的驅(qū)動(dòng)程序會(huì)與操作系統(tǒng)中的協(xié)議棧接駁。
以太網(wǎng)卡上有自己的地址——MAC地址,以太網(wǎng)卡在誕生之日就被寫(xiě)死了MAC地址,當(dāng)然,黑客高手們有辦法修改這些地址。
目前大量的計(jì)算機(jī)主板已經(jīng)集成了以太網(wǎng)卡,用戶無(wú)需單獨(dú)購(gòu)買(mǎi),即可連接以太網(wǎng)線。而在10多年前,網(wǎng)卡曾被認(rèn)為是計(jì)算機(jī)的高級(jí)外設(shè)。
5.操作系統(tǒng)
操作系統(tǒng)是控制程序運(yùn)行,管理系統(tǒng)資源(尤其是磁盤(pán)、內(nèi)存、接口和外設(shè)),并為用戶提供操作界面的系統(tǒng)軟件的集合。
自計(jì)算機(jī)誕生以來(lái),人類創(chuàng)造了至少100種操作系統(tǒng),而真正能否發(fā)揚(yáng)光大被人們廣泛使用的,除了之前提到的UNIX和LINUX,還有微軟的DOS和Windows、蘋(píng)果的MAC等,以及后面我們會(huì)介紹的手機(jī)操作系統(tǒng)。
為什么會(huì)出現(xiàn)“操作系統(tǒng)”這一概念?應(yīng)用軟件不能直接運(yùn)行在計(jì)算機(jī)硬件上嗎?加上中間這個(gè)“系統(tǒng)”,會(huì)不會(huì)對(duì)性能造成影響?
我們知道,計(jì)算機(jī)的外設(shè)種類繁多,在一臺(tái)計(jì)算機(jī)上安裝外設(shè),最關(guān)鍵的是需要讓計(jì)算機(jī)的CPU能夠有效管理此外設(shè),而這種管理,是通過(guò)“驅(qū)動(dòng)程序”進(jìn)行的。驅(qū)動(dòng)程序下對(duì)硬件外設(shè),上對(duì)應(yīng)用程序,它是這兩者之間的橋梁和紐帶。
很容易理解,應(yīng)用程序必須能夠調(diào)用這種驅(qū)動(dòng)程序,才能對(duì)此外設(shè)進(jìn)行操作。假如沒(méi)有操作系統(tǒng),應(yīng)用程序必須直接與外設(shè)的驅(qū)動(dòng)程序打交道,會(huì)讓社會(huì)分工變得混亂:做應(yīng)用程序的軟件人員,必須了解硬件;做硬件的人,不得不去學(xué)習(xí)應(yīng)用程序的內(nèi)核——這是嚴(yán)重的資源浪費(fèi)。操作系統(tǒng)就是基于這樣的背景下誕生的。
不可否認(rèn)的是,當(dāng)前主流的操作系統(tǒng)都包含了大量的應(yīng)用程序,Windows就自帶各種游戲、記事本、寫(xiě)字板、網(wǎng)頁(yè)瀏覽器(Internet Explorer)等,這些都是商業(yè)運(yùn)作的需要,而非操作系統(tǒng)的初衷。
第一部計(jì)算機(jī)ENIAC沒(méi)有操作系統(tǒng),其更像是一個(gè)機(jī)械算盤(pán),這種計(jì)算機(jī)的建立方式與效能,不足以執(zhí)行任何一種操作系統(tǒng)。1947年,晶體管發(fā)明,接著,莫里斯·威爾克斯發(fā)明了微程序方法,使得計(jì)算機(jī)不再是機(jī)械設(shè)備,而是電子產(chǎn)品。系統(tǒng)管理工具以及簡(jiǎn)化硬件操作流程的程序很快就出現(xiàn)了,且成為操作系統(tǒng)的鼻祖。
20世紀(jì)60年代,商用計(jì)算機(jī)制造商開(kāi)始制造所謂“批次處理系統(tǒng)”。這種系統(tǒng)可將工作的建置、調(diào)度以及執(zhí)行序列化。此時(shí),廠商為每一臺(tái)不同型號(hào)的計(jì)算機(jī)創(chuàng)造不同的處理系統(tǒng),因?yàn)闉槟硞€(gè)特定型號(hào)計(jì)算機(jī)而寫(xiě)的程序無(wú)法移植到其他計(jì)算機(jī)上執(zhí)行。如果這種狀況持續(xù)下去,就根本不可能有計(jì)算機(jī)高度普及的今天。
計(jì)算機(jī)界大腕IBM深喑其道,銳意改革,于1964年推出了一系列用途和價(jià)位都不同的大型計(jì)算機(jī)——IBM System/360。這是大型主機(jī)的經(jīng)典之作。他們都共享代號(hào)為OS/360的操作系統(tǒng),這是一次偉大的嘗試!System/360系列大獲成功,直接導(dǎo)致其成為IBM以后大型系統(tǒng)的祖先。
接著發(fā)生的故事,我們之前已經(jīng)講過(guò),UNIX于20世紀(jì)60年代末呱呱墜地,LINUX于1991年橫空出世。
就在UNIX出現(xiàn)后的1975年,一個(gè)后來(lái)曾經(jīng)成為全球市值最高的企業(yè)誕生了。這家公司開(kāi)始非常低調(diào),連起名字都非常“弱勢(shì)”——Micro(微小)-soft(柔軟),沒(méi)錯(cuò),Microsoft,微軟。他們開(kāi)發(fā)的軟件,系統(tǒng)龐大;他們的行事風(fēng)格,足夠的強(qiáng)硬,這與“微軟”二字完全不符。
19歲的哈弗大學(xué)輟學(xué)生比爾·蓋茨和他的高中校友保羅·艾倫建立了微軟公司,總部設(shè)在華盛頓州的雷蒙德市,注意,華盛頓州和華盛頓市完全是兩回事。華盛頓州位于美國(guó)西部,與汽車(chē)城西雅圖毗鄰。
像所有剛剛創(chuàng)業(yè)的年輕人一樣,他們首先得找到能填飽肚子的家伙事兒。于是他們根據(jù)自己的特長(zhǎng),開(kāi)賣(mài)當(dāng)時(shí)流行的BASIC解譯器,也順手做點(diǎn)其他小生意。
由于微軟是少數(shù)幾個(gè)BASIC解譯器的商業(yè)生產(chǎn)商,很多家庭計(jì)算機(jī)生產(chǎn)商在其系統(tǒng)中采用微軟的BASIC解譯器。很快,微軟BASIC解譯器成為公認(rèn)的市場(chǎng)標(biāo)準(zhǔn)。但是BASIC再成功,也無(wú)法讓微軟變成一家世界級(jí)的大公司。這讓雄心勃勃的蓋茨很苦惱。
1980年,一個(gè)重大事件改變了微軟和這對(duì)高中好友——IBM選擇微軟為其新PC機(jī)編寫(xiě)關(guān)鍵的操作系統(tǒng)軟件!促成這件事兒的,很可能是蓋茨的母親——當(dāng)時(shí)她是IBM的董事。
俗話說(shuō)“背靠大樹(shù)好乘涼”,這可是千載難逢的好機(jī)會(huì)!如果運(yùn)氣好,說(shuō)不定能成為IBM的永久合作伙伴,這個(gè)涼如果不乘,那豈不太傻了?如果蓋茨先生這么想,他也許會(huì)成為IBM的一個(gè)部門(mén)經(jīng)理,成為一名高級(jí)白領(lǐng),年薪300萬(wàn)或者500萬(wàn)美元,并于某年某日光榮退休,榮歸故里,諸如此類。
然而蓋茨先生不是這么想的,因?yàn)樗粌H僅是個(gè)技術(shù)高手,更是個(gè)絕頂聰明和富有雄心(也許是野心)的商人。
他以5萬(wàn)美元的價(jià)格從西雅圖一位程序編制者手中買(mǎi)下了一個(gè)操作系統(tǒng)——QDOS的使用權(quán),在進(jìn)行部分改寫(xiě)后提供給IBM,并將其命名為Microsoft DOS。IBM-PC的普及使MS-DOS取得了巨大的成功,因?yàn)槠渌鸓C制造者都希望與IBM兼容。
1984年,微軟公司的銷(xiāo)售額超過(guò)1億美元。隨后,微軟公司繼續(xù)為IBM、蘋(píng)果公司以及無(wú)線電器材公司的計(jì)算機(jī)開(kāi)發(fā)軟件。但隨著微軟公司的日益壯大,IBM愈發(fā)感覺(jué)到,微軟雖然是自己的供應(yīng)商,但其野心似乎太大了!因?yàn)槲④浺呀?jīng)在許多方面與IBM成為競(jìng)爭(zhēng)對(duì)手!
終于,在1991年,IBM和蘋(píng)果分別與微軟解除了合作關(guān)系。但I(xiàn)BM與微軟的合作關(guān)系從未間斷過(guò),兩個(gè)公司保持著既競(jìng)爭(zhēng)又合作的復(fù)雜關(guān)系——一個(gè)軟硬件兼顧的帝國(guó),一個(gè)純軟件大鱷,唇齒相依,唇亡齒寒,誰(shuí)都清楚,做自己最擅長(zhǎng)的事情,方為正道!
在隨后的30年間,在各自的主營(yíng)業(yè)務(wù)方面,IBM和微軟從未大規(guī)模正面相撞。而蘋(píng)果公司,在著名的Apple II過(guò)氣后就沉睡了,直到21世紀(jì),蘋(píng)果公司才在喬布斯的帶領(lǐng)下重振雄風(fēng)。有關(guān)蘋(píng)果公司和喬幫主的故事,第8章給讀者詳細(xì)介紹。
1998年,蓋茨的個(gè)人資產(chǎn)總值超過(guò)了500億美元大關(guān),據(jù)福布斯統(tǒng)計(jì),他連續(xù)十多年成為全球首富。
Windows操作系統(tǒng)(中文翻譯為“視窗”)是微軟公司最著名的產(chǎn)品,它在高峰時(shí)曾占據(jù)全世界90%以上的個(gè)人計(jì)算機(jī)桌面。
北京奧運(yùn)會(huì)前1個(gè)多月,比爾·蓋茨正式退休,淡出微軟日常管理工作。現(xiàn)任CEO是蓋茨的大學(xué)好友——史蒂芬·鮑爾默。
又一個(gè)同學(xué)!看來(lái)做蓋茨的同學(xué),真是一件幸運(yùn)的事。
按照中國(guó)人起小名的傳統(tǒng),給孩子起個(gè)“爛”名字好養(yǎng)活,這在微軟身上獲得了應(yīng)驗(yàn)。因?yàn)樵诮裉炜磥?lái),雖然微軟一直致力于軟件開(kāi)發(fā),卻既不“微”又不“軟”,它已經(jīng)成為全球歷史上最強(qiáng)大的軟件帝國(guó)!
6.數(shù)據(jù)庫(kù)
無(wú)論是金融行業(yè)、教育行業(yè),還是零售、衛(wèi)生、公共安全、運(yùn)輸業(yè),從業(yè)人員都要面對(duì)龐大的數(shù)字集合,他們需要對(duì)這些數(shù)字進(jìn)行記錄和存儲(chǔ),需要隨時(shí)查詢,經(jīng)常性地分析。
任何一個(gè)天才都不可能用大腦記錄這所有的數(shù)字,必須借助于計(jì)算機(jī),我們也無(wú)須記錄這些龐大數(shù)量的數(shù)字。在計(jì)算機(jī)里面,如果我們安裝一類軟件,它專門(mén)負(fù)責(zé)對(duì)數(shù)據(jù)信息進(jìn)行存儲(chǔ)、查詢、調(diào)用和分析,看來(lái)是十分必要的。
這類軟件,就是數(shù)據(jù)庫(kù)。今天我們對(duì)數(shù)據(jù)庫(kù)這個(gè)東西都不會(huì)陌生,它為人類海量數(shù)據(jù)的處理提供最基本的支持能力。
而在60多年前,人們對(duì)數(shù)據(jù)的管理還處于初級(jí)階段。那時(shí)候的數(shù)據(jù)管理,都是通過(guò)大量的分類、比較和表格繪制的機(jī)器運(yùn)行數(shù)百萬(wàn)穿孔卡片來(lái)進(jìn)行,并將運(yùn)行結(jié)果在紙上打印出來(lái)或者制成新的穿孔卡片。而數(shù)據(jù)管理,則是對(duì)這些穿孔卡片進(jìn)行物理的存儲(chǔ)和處理。
1951年,美國(guó)雷明頓蘭德公司Univacl計(jì)算機(jī)推出了一種一秒鐘可以輸入數(shù)百條記錄的磁帶驅(qū)動(dòng)器,數(shù)據(jù)管理的革命就此開(kāi)始。
手筆最大的還是藍(lán)色巨人。1956年,IBM制造了一款“海量存儲(chǔ)器”,這個(gè)驅(qū)動(dòng)器有50個(gè)盤(pán)片,每個(gè)盤(pán)片直徑2英尺,可以存儲(chǔ)5MB的數(shù)據(jù)!別笑,這在當(dāng)時(shí)已經(jīng)是非常大的信息量了!250萬(wàn)漢字的書(shū),也就占用5MB的存儲(chǔ)量,這難道不算海量嗎?想想一部《辭海》也才只有2 200萬(wàn)字!也就是說(shuō),9張這樣的驅(qū)動(dòng)器就可以存儲(chǔ)整個(gè)《辭海》了。
數(shù)據(jù)庫(kù)系統(tǒng)的萌芽出現(xiàn)于20世紀(jì)60年代。當(dāng)時(shí)計(jì)算機(jī)開(kāi)始廣泛地應(yīng)用于數(shù)據(jù)管理,對(duì)數(shù)據(jù)的共享提出了越來(lái)越高的要求。傳統(tǒng)的文件系統(tǒng)已經(jīng)明顯落后于時(shí)代。這時(shí),能夠統(tǒng)一管理和共享數(shù)據(jù)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)降臨人間。
數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ)是數(shù)據(jù)模型,各種數(shù)據(jù)庫(kù)管理系統(tǒng)軟件都是基于某種數(shù)據(jù)模型建立起來(lái)的。所以通常,人們按照數(shù)據(jù)模型原理,將數(shù)據(jù)庫(kù)系統(tǒng)分成網(wǎng)狀數(shù)據(jù)庫(kù)、層次數(shù)據(jù)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù)三類。
有趣的是,最早出現(xiàn)的網(wǎng)狀數(shù)據(jù)庫(kù)的所有者,是今天以醫(yī)療、金融、塑料、飛行器引擎和杰克·韋爾奇聞名于世的GE公司,他們?cè)?961年開(kāi)發(fā)成功的IDS系統(tǒng),是最早的網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)。這也是第一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)——集成數(shù)據(jù)存儲(chǔ)。
在當(dāng)時(shí),IDS得到了廣泛的應(yīng)用。它具有數(shù)據(jù)模式和日志的特征,但只能在GE主機(jī)上運(yùn)行,并且數(shù)據(jù)庫(kù)只有一個(gè)文件,數(shù)據(jù)庫(kù)所有的表必須通過(guò)手工編碼來(lái)生成。
之后,GE的一個(gè)客戶——古德里奇公司重新寫(xiě)了這個(gè)系統(tǒng),并命名為集成數(shù)據(jù)管理系統(tǒng)(IDMS)。1973年,一家叫作Cullinane公司開(kāi)始出售古德里奇公司的IDMS改進(jìn)版本,并逐漸成為當(dāng)時(shí)世界上最大的軟件公司。后來(lái),Cullinane改名為Cullinet。
Cullinet是大名鼎鼎的Powerbuilder的最早規(guī)劃和開(kāi)發(fā)者。Powerbuilder是基于PC的圖形化數(shù)據(jù)庫(kù)開(kāi)發(fā)工,目前歸Sybase公司所有。
層次型數(shù)據(jù)的鼻祖,還是那個(gè)藍(lán)色巨人——IBM。
1968年,IBM推出了全世界最早的層次型數(shù)據(jù)庫(kù)系統(tǒng)——IMS,一種適合其主機(jī)的層次數(shù)據(jù)庫(kù)。從20世紀(jì)60年代末至今,已經(jīng)發(fā)展到第6版本,提供群集、N路數(shù)據(jù)共享、消息隊(duì)列共享等一大堆先進(jìn)特性的支持。這個(gè)具有40多年歷史的數(shù)據(jù)庫(kù)產(chǎn)品在如今的WWW應(yīng)用、商務(wù)智能(BI)應(yīng)用中仍然扮演著重要角色。
網(wǎng)狀數(shù)據(jù)庫(kù)和層次數(shù)據(jù)庫(kù)很好地解決了數(shù)據(jù)的集中和共享問(wèn)題,但是在數(shù)據(jù)庫(kù)獨(dú)立性和抽象級(jí)別上仍有很大缺陷。用戶在對(duì)這兩種數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)時(shí),仍然需要明確數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),指出存取路徑。而后來(lái)出現(xiàn)的關(guān)系型數(shù)據(jù)庫(kù),則沒(méi)有這些麻煩。
1970年,IBM研究院的科德博士最早提出了“關(guān)系模型”的概念,奠定了關(guān)系模型的理論基礎(chǔ),后來(lái)這位仁兄又多次發(fā)表論文,論述了范式理論和衡量關(guān)系系統(tǒng)的12條標(biāo)準(zhǔn),用數(shù)學(xué)理論奠定了關(guān)系型數(shù)據(jù)庫(kù)的基礎(chǔ)。
1974年的一次技術(shù)研討會(huì),開(kāi)展了一場(chǎng)以科德博士為首的支持關(guān)系數(shù)據(jù)庫(kù)的派系和反對(duì)關(guān)系數(shù)據(jù)庫(kù)的派系的大辯論。這次著名的辯論推動(dòng)了關(guān)系數(shù)據(jù)庫(kù)的發(fā)展,使其最終成為現(xiàn)代數(shù)據(jù)庫(kù)產(chǎn)品的主流。
關(guān)系模型建立之后,IBM公司在圣何塞實(shí)驗(yàn)室增加了更多的研究人員研究這個(gè)項(xiàng)目,這個(gè)項(xiàng)目就是著名的System R。
System R的目標(biāo),是論證一個(gè)全功能關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的可行性。該項(xiàng)目結(jié)束于1979年,完成了第一個(gè)實(shí)現(xiàn)SQL的關(guān)系型數(shù)據(jù)庫(kù)。然而令人遺憾的是,IBM對(duì)IMS的承諾阻止了System R的投產(chǎn),一直到1980年,System R才作為一個(gè)產(chǎn)品正式推向市場(chǎng)。
1976年,霍尼韋爾公司開(kāi)發(fā)了第一個(gè)商用關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)——Multics Relational Data Store。關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)以關(guān)系代數(shù)為堅(jiān)實(shí)的理論基礎(chǔ),經(jīng)過(guò)幾十年的發(fā)展和實(shí)際應(yīng)用,技術(shù)越來(lái)越成熟和完善。其代表產(chǎn)品有Oracle、IBM公司的 DB2、微軟公司的MS SQL Server以及Informix、ADA等。
1974年,IBM的博伊斯和金柏林將科德關(guān)系數(shù)據(jù)庫(kù)的12條準(zhǔn)則的數(shù)學(xué)定義以簡(jiǎn)單的關(guān)鍵字語(yǔ)法表現(xiàn)出來(lái),里程碑式地提出了今天在關(guān)系數(shù)據(jù)庫(kù)領(lǐng)域最最基礎(chǔ)的一個(gè)指令語(yǔ)言——SQL語(yǔ)言。
SQL語(yǔ)言的功能包括查詢、操縱、定義和控制,是一個(gè)綜合的、通用的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言,同時(shí)又是一種高度非過(guò)程化的語(yǔ)言,只要求用戶指出做什么而不需要指出怎么做。
SQL集成了數(shù)據(jù)庫(kù)生命周期中的全部操作,提供了與關(guān)系數(shù)據(jù)庫(kù)進(jìn)行交互的方法,它可以與標(biāo)準(zhǔn)的編程語(yǔ)言一起工作。
自產(chǎn)生之日起,SQL語(yǔ)言便成了檢驗(yàn)關(guān)系數(shù)據(jù)庫(kù)的試金石,而SQL語(yǔ)言標(biāo)準(zhǔn)的每一次變更都指導(dǎo)著關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品的發(fā)展方向。
這里又有一個(gè)小插曲。
當(dāng)科德博士發(fā)表題為“R系統(tǒng):數(shù)據(jù)庫(kù)關(guān)系理論”的時(shí)候,一個(gè)技術(shù)敏感人士,勞倫斯·埃里森非常仔細(xì)地閱讀了這篇文章,被其內(nèi)容震驚,這是第一次有人用全面一致的方案管理數(shù)據(jù)信息!
震驚之余,埃里森敏銳意識(shí)到在這個(gè)研究基礎(chǔ)上可以開(kāi)發(fā)商用軟件系統(tǒng)。而當(dāng)時(shí)大多數(shù)人認(rèn)為關(guān)系數(shù)據(jù)庫(kù)不會(huì)有商業(yè)價(jià)值。埃里森認(rèn)為,他的機(jī)會(huì)來(lái)了。很快,一款通用商用數(shù)據(jù)庫(kù)系統(tǒng) “Oracle”誕生了——這個(gè)名字來(lái)源于他們?cè)o中央情報(bào)局做過(guò)的項(xiàng)目名。
不過(guò),Oracle 1.0版本僅僅是一個(gè)“玩具”,除了完成簡(jiǎn)單關(guān)系查詢外,做不了太多的事情,他們花相當(dāng)長(zhǎng)的時(shí)間才使Oracle變得可用,維持公司運(yùn)轉(zhuǎn)主要靠承接一些數(shù)據(jù)庫(kù)管理項(xiàng)目和做顧問(wèn)咨詢工作。
IBM醒得早,卻起得太晚,這給埃里森了一個(gè)時(shí)間差。1985年,當(dāng)IBM發(fā)布DB2時(shí),Oracle已經(jīng)家喻戶曉。
經(jīng)歷過(guò)網(wǎng)狀、層次型和關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)后,有人提出了新的面向?qū)ο髷?shù)據(jù)模型的數(shù)據(jù)庫(kù)系統(tǒng),其特征是數(shù)據(jù)模型更加豐富,數(shù)據(jù)管理功能更強(qiáng)大,能夠支持傳統(tǒng)數(shù)據(jù)庫(kù)難以支持的新應(yīng)用。比較典型的有IBM的db4o、EyeDB等。
7.應(yīng)用軟件
應(yīng)用軟件是主機(jī)中與業(yè)務(wù)關(guān)系最為密切的組成部分,是人機(jī)交互的主要介質(zhì)之一。無(wú)論是我們玩的網(wǎng)絡(luò)游戲,還是即時(shí)通信軟件,以及CRM系統(tǒng)的服務(wù)器端軟件,都屬于應(yīng)用軟件的范疇。
單機(jī)版的應(yīng)用軟件并不在我們本節(jié)的討論范疇。我們討論的應(yīng)用軟件一定是基于IP應(yīng)用的。
在IP世界中,用戶端的應(yīng)用軟件和服務(wù)器端的應(yīng)用軟件進(jìn)行交互,其交互信息采用TCP/IP協(xié)議。根據(jù)用戶端應(yīng)用軟件的界面形態(tài),我們將兩者之間的關(guān)系分為Client/Server和Browser/Server兩種類型。
Client/Server(簡(jiǎn)稱C/S)是指用戶端采用專門(mén)的GUI(圖形用戶界面)軟件。最典型的是即時(shí)通信軟件和郵件處理軟件,QQ、MSN、Skype都有自己的客戶端軟件,Outlook、Foxmail也都是獨(dú)立的用戶端GUI軟件。自己設(shè)計(jì)客戶端軟件,可塑性強(qiáng),個(gè)性化強(qiáng),并可靈活添加各種增值功能。
Brower/Server(簡(jiǎn)稱B/S)是指用戶端采用瀏覽器訪問(wèn)服務(wù)器,WWW服務(wù)是其中最常見(jiàn)的應(yīng)用,越來(lái)越多的OA系統(tǒng)、呼叫中心坐席軟件采用B/S結(jié)構(gòu)。
關(guān)于兩種模式的爭(zhēng)論,從來(lái)都沒(méi)有停止過(guò)。
C/S模式有以下特點(diǎn)。
◆客戶端實(shí)現(xiàn)與服務(wù)器的直接連接,沒(méi)有中間環(huán)節(jié),響應(yīng)速度比較快,客戶端界面設(shè)計(jì)個(gè)性化,直觀、簡(jiǎn)單、方便。
由于開(kāi)發(fā)是針對(duì)性的,因此操作界面漂亮、形式多樣,可以充分表現(xiàn)客戶自身的個(gè)性,但缺少通用性的特點(diǎn),業(yè)務(wù)變更或改變的靈活度不夠,需要重新設(shè)計(jì)和開(kāi)發(fā),因此維護(hù)和管理難度較大,進(jìn)一步的業(yè)務(wù)拓展門(mén)檻很高。
◆對(duì)于客戶而言,每次新安裝計(jì)算機(jī),都需要重新安裝客戶端軟件,分布功能弱,不能實(shí)現(xiàn)快速部署安裝和配置。最為重要的是,C/S的兼容性差,對(duì)于不同的開(kāi)發(fā)工具,相互之間很難兼容,具有較大的局限性,這就造成開(kāi)發(fā)成本高,需要具有一定專業(yè)水準(zhǔn)的技術(shù)人員才能完成。
B/S結(jié)構(gòu)具有很強(qiáng)的分布特點(diǎn)。
可以隨時(shí)隨地進(jìn)行業(yè)務(wù)處理。
業(yè)務(wù)拓展簡(jiǎn)單方便,通過(guò)增加網(wǎng)頁(yè)即可增加服務(wù)器功能,維護(hù)簡(jiǎn)單方便,只需要改變網(wǎng)頁(yè),即可實(shí)現(xiàn)所有用戶的同步更新。開(kāi)發(fā)簡(jiǎn)單,共享性強(qiáng)。
個(gè)性化特點(diǎn)明顯降低,無(wú)法實(shí)現(xiàn)具有個(gè)性化的設(shè)計(jì)要求。
以鼠標(biāo)為最基本的操作方式,無(wú)法滿足快速操作的要求。要知道,鍵盤(pán)快捷鍵還是比鼠標(biāo)操作要快得多,而B(niǎo)/S結(jié)構(gòu)幾乎不能支持快捷鍵的使用。
頁(yè)面動(dòng)態(tài)刷新,響應(yīng)速度明顯降低。功能弱化,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。
專用性打印輸出難以實(shí)現(xiàn),尤其對(duì)票據(jù)等打印,難以實(shí)現(xiàn)套打輸出,無(wú)法實(shí)現(xiàn)分頁(yè)顯示,給數(shù)據(jù)庫(kù)訪問(wèn)造成較大的壓力。這就是為什么營(yíng)業(yè)廳使用的軟件都是C/S結(jié)構(gòu)而非B/S結(jié)構(gòu)的原因。
當(dāng)前,移動(dòng)互聯(lián)網(wǎng)APP模式的應(yīng)用越來(lái)越多,這些具體的應(yīng)用更類似于C/S結(jié)構(gòu)。
最后需要給各位介紹全球Web服務(wù)器軟件排名第一的“Apache(阿帕奇)”系統(tǒng)。這里的“Apache”,既不是一款武裝直升機(jī),也不是那個(gè)著名印第安部落的名字,而是可以架構(gòu)在幾乎所有正被廣泛使用的計(jì)算機(jī)平臺(tái)上的開(kāi)源代碼。
這是一款自由軟件,取名自“a patchy server”的讀音,意思是“充滿補(bǔ)丁的服務(wù)器”。的確,給它打補(bǔ)丁的人很多,他們開(kāi)發(fā)新的功能、特性,并修改原來(lái)的缺陷,使Apache使用簡(jiǎn)單、速度快、穩(wěn)定性強(qiáng)。
Apache擁有多個(gè)著名項(xiàng)目,而最被人熟知的是HTTP Server。如果你在公網(wǎng)服務(wù)器上(比如安裝了LINUX或者UNIX操作系統(tǒng))運(yùn)行了Apache軟件,這臺(tái)服務(wù)器就可以當(dāng)做一臺(tái)HTTP Server來(lái)使用。