甲骨文與微軟兩大資料庫產品,是資料庫發展史上的兩座大山。這讓我們在資料庫選型的時候,基本上沒有多大的選擇餘地,不是微軟就是甲骨文。但是,從他們兩者來說,還是有比較大的差異。在資料庫選型的時候,不得不關注的他們之間的三個小差異。瞭解這些區別,能夠給我們資料庫選型帶來很大的指導作用。
一、所支援平台的差異
甲骨文的資料庫系統,是在JAVA平台上開發起來的,所以,保持著眾多JAVA程式的特性。如有很多功能都需要利用命令來完成;如一些協助工具輔助也都是類似DOS視窗的命令列形式的視窗,等等。而基於JAVA平台開發的資料庫版本,也繼承了JAVA的一個很重要的效能,就是跨平台效能。甲骨文的Oracle資料庫可以在現有的大部分作業系統上順利運行,如無論是開源的Linux系統還是微軟的伺服器系統,又或是蘋果作業系統等等,都可以跑Oracle資料庫系統。
而微軟的SQLServer資料庫系統,其只能夠在微軟的作業系統上運行,這除了技術上的因素之外,可能也是微軟搭售方案以及壟斷的商業策略的體現吧。
但是,從各個方面考慮,資料庫能夠支援多個平台的特性,已經越來越重要。
一是從伺服器穩定的角度考慮。到現在為止,開源的UNIX還是首選的伺服器作業系統。UNIX伺服器作業系統的穩定性是有目共睹的;而微軟的伺服器軟體漏洞之多、穩定性之差也是大家感同身受的。相比之下,在一些穩定性要求比較高的應用上來說,大家更加喜歡使用UNIX(或者其分支LINUX)作為伺服器軟體。雖然,其在維護成本上可能會高於微軟的伺服器作業系統。既然在伺服器作業系統上有多個平台可以選擇,那麼無論是企業還是軟體公司,在資料庫選型上,也必須要考慮這個趨勢。若商業軟體公司,他們開發的軟體只支援微軟的資料庫,而不支援甲骨文的資料庫的話,則他們開發的軟體,就只能夠在微軟的作業系統平台上應用,而不能在如LINUX的平台下應用,這必將失去很大的一部分市場。在這方面,我們公司的CRM軟體業務就吃過一次虧。由於我們公司的CRM軟體是從其他公司收購過來的,其只支援微軟的資料庫產品。雖然跟微軟的資料庫產品搭售方案,據說企業也從微軟那邊拿到了不少的返點,但是,也失去了不少的客戶。因為現在不少客戶在選型的時候,都需要CRM軟體能夠支援跨平台運行,特別是伺服器上,出於穩定性考慮,他們都採用LINUX作為後台伺服器的作業系統。但是,我們公司的CRM軟體無法適應這個跨平台的需求,所以,被迫放棄了很多項目。現在研發部門正在研究,準備開發出一套能夠支援跨平台的CRM軟體。而要實現這個目標,首先要考慮的就是資料庫要能夠支援跨平台。
二是從用戶端的部署成本考慮。跨平台也是一個必然的選擇。現在微軟進一步加強對盜版的打擊力度,這雖然可能會增加微軟的銷售額,但是,也在一定程度上,把微軟的使用者向Linux等開元作業系統轉移。為了適應這個趨勢,企業在軟體選型的時候,不僅在伺服器上有所體現,在用戶端上,企業也要求能夠支援Linux等開源的作業系統。這個趨勢,也給微軟當頭一棒。雖然說,資訊化管理軟體的跨平台效能除了跟資料庫有關外,還跟資訊化管理軟體的開發平台相關。但是,從用戶端的部署成本來考慮,大部分企業還是會採用免費的開源作業系統,而軟體公司為了滿足企業的這一需求,也會採用支援跨平台的開發語言;而他們也就自然而然會支援甲骨文的作業系統。這必將大大的影響微軟資料庫系統的市場佔有率。
所以,筆者認為,不能夠支援跨平台運行,這是微軟資料庫系統跟甲骨文資料庫系統在市場競爭中,最大的劣勢吧。
二、部署成本上的區別
在資料庫部署成本上,兩者的差異可以用一句話概述,就是甲骨文的資料庫效能比微軟的資料庫效能要高几十倍,但是,部署價格的話,甲骨文系統也比微軟的資料庫系統高貴好幾倍。當然,這是一個比較籠統的說法,在實際資料庫選型中,還需要實際情況實際分析。
1、Oracle資料庫也有一些免費的版本。為了吸引更多的客戶,甲骨文資料庫系統也推出了一些針對中小型企業的免費資料庫系統,如XE等等。這些免費的資料庫雖然比收費的資料庫系統在某些方面受到了一些限制,如支援CPU以及資料庫容量上有一定的限制,但是,對於小型企業的應用來說,沒有多大的影響。而微軟的資料庫系統無論是大型應用還是小型應用,都是需要收費的。雖然,根據筆者的瞭解,不少中小型企業,在資料庫選型的時候,選擇了相對複雜的Oracle資料庫系統,而放棄了收費高昂的微軟的資料庫系統。從這方面考慮,甲骨文的資料庫實施成本反而比微軟的資料庫要小的多。
2、Oracle資料庫部署成本高的原因,是他們還提供了很多收費的維護工具。其實,甲骨文的資料庫系統,不僅僅是一個資料庫軟體,還有很多維護工具,而這些維護工具是跟資料庫本身分開賣的。若就一個資料庫系統,則對於大部分資料庫管理員來說,是管理不好甲骨文的資料庫系統的;如不少的甲骨文資料庫管理員,失去了SQL*plus工具,就手足無策了。巧婦難為無米之炊,沒有這些協助工具輔助,甲骨文的資料庫管理員就好像魔術師失去了道具,無所適從。真是因為這些原因,甲骨文的資料庫部署與維護成本,比微軟的資料庫系統要高的多。微軟基本上沒有什麼收費的資料庫系統官方工具,就是一個資料庫系統,在裡面也內建了企業管理器。利用這個企業管理器環境,基本上可以完成微軟資料庫系統的維護工作。正是因為如此,微軟的資料庫系統的部署與維護成本,要比甲骨文的低許多。當然,這是微軟資料庫系統以犧牲資料庫的效能為代價的。毋庸置疑,真是因為這些豐富的甲骨文資料庫協助工具輔助,才能夠保障甲骨文資料庫的高效能。
3、從資料庫管理員的價值來說,兩者之間也有比價到的差異。若把資料庫管理員當作一個商品的話,則甲骨文的資料庫管理員與微軟的資料庫管理員,同一個檔次的,則前者比後者要貴許多。雖然都是資料庫管理員,但是,就好像一個是本機群組裝的,一個是原裝進口的,兩者在價格上有很大的差異。不是筆者自誇,在同一個水平下,聘請一個甲骨文的資料庫管理員,就可以憑請兩到三個微軟資料庫管理員了,甚至更多。光從資料庫維護人員的支出考慮,資料庫維護成本,甲骨文的作業系統就要比微軟的資料庫作業系統貴兩倍到三倍。這也正是甲骨文資料庫維護成本比較高的另一個重要原因。不過,對於剛入門的資料庫管理員來說,兩者沒有很大的區別;層級越高,兩者的“價格”,差異就越大。
三、社區氛圍的差異
社區氛圍上的差異,這不僅是微軟與甲骨文資料庫系統上的差異,也是這兩家公司經營文化上的差異。
微軟非常注重整個產品的社區氛圍。如筆者在資料庫這個行業也已經有很長的經驗了,筆者曾多次受到微軟公司的邀請,聽他們的新產品發布會、研討會之類的;而且,在網上,還有專門的免費教育。在GOOGLE上,輸入微軟資料庫教學,可以查詢到很多官方的培訓視頻。但是,甲骨文公司在這點上,明顯不如微軟。筆者使用了這麼多年的Oracle資料庫,從最初的9開始,到現在的這個最新的版本,這麼多的版本變更,筆者從來沒有聽說過,甲骨文公司什麼時候在全國各地開過產品發布說明會了,更沒有使用者研討會了。而且,在網站上尋找一下,也很難查到官方的培訓光碟片。所以說,微軟是比較重視他們的使用者群體的。
這一點不光是反映在他們的資料庫產品上,在他們的CRM軟體業是如此。正是這一點,讓微軟抓住了很多使用者的心,這對於他們開拓市場,具有很好的輔助作用。
微軟積極營造的這種社區氛圍,對於使用者瞭解微軟的資料庫產品,學習他們的資料庫產品技術,是非常有協助的。而由於甲骨文缺少這種氛圍,所以,基本上只有通過培訓才能夠進入甲骨文的資料庫管理員這個團隊,入門比較困難。