甲骨文與微軟兩大數據庫產品,是數據庫發展史上的兩座大山。這讓我們在數據庫選型的時候,基本上沒有多大的選擇余地,不是微軟就是甲骨文。但是,從他們兩者來說,還是有比較大的差異。今天筆者就談談在數據庫選型的時候,不得不關注的他們之間的三個小差異。了解這些區別,能夠給我們數據庫選型帶來很大的指導作用。
一、所支持平臺的差異
甲骨文的數據庫系統,是在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軟件業是如此。正是這一點,讓微軟抓住了很多用戶的心,這對于他們開拓市場,具有很好的輔助作用。
微軟積極營造的這種社區氛圍,對于用戶了解微軟的數據庫產品,學習他們的數據庫產品技術,是非常有幫助的。而由于甲骨文缺少這種氛圍,所以,基本上只有通過培訓才能夠進入甲骨文的數據庫管理員這個團隊,入門比較困難。