SQL Server 與Oracle這兩個(gè)數(shù)據(jù)庫(kù),除了在一些技術(shù)上有明顯的差異外,在實(shí)施成本上也有比較大的差別。下面筆者就這方面內(nèi)容發(fā)表一些自己的觀點(diǎn),希望能夠跟大家一起交流。
一、Oracle基于JAVA開(kāi)發(fā),具有很多開(kāi)源的工具支持。
SQL Server 與Oracle數(shù)據(jù)庫(kù)兩者一個(gè)最大的區(qū)別,就是其應(yīng)用平臺(tái)的差異。現(xiàn)在SQL Server數(shù)據(jù)庫(kù)只能夠部署在微軟的操作系統(tǒng)上。而Oracle數(shù)據(jù)庫(kù)其不但可以支持微軟的操作系統(tǒng),而且還可以支持開(kāi)源的操作系統(tǒng),如Linux等等。正是因?yàn)镺racle數(shù)據(jù)庫(kù)是在JAVA技術(shù)平臺(tái)上開(kāi)發(fā)的,所以,讓其在跨平臺(tái)的操作系統(tǒng)上運(yùn)行成為了可能。
而因?yàn)镴AVA程序本身就是免費(fèi)開(kāi)源的,如此,很多程序愛(ài)好者就可以在這個(gè)JAVA平臺(tái)上開(kāi)發(fā)一些免費(fèi)的跟Oracle數(shù)據(jù)庫(kù)結(jié)合很好的輔助工具,如一 些報(bào)表工具等等。這些免費(fèi)的開(kāi)源工具,我們數(shù)據(jù)庫(kù)開(kāi)發(fā)人員可以直接拿過(guò)來(lái)使用,可以為我們節(jié)省很多開(kāi)發(fā)時(shí)間與開(kāi)發(fā)成本。
但是,由于SQL Server的開(kāi)發(fā)架構(gòu)不是基于開(kāi)源平臺(tái)的,所以,一些支持SQL Server數(shù)據(jù)庫(kù)的第三方工具,往往需要收費(fèi)的。這無(wú)形中就增加了部署SQL Server數(shù)據(jù)庫(kù)的成本。
現(xiàn)在很多Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)人員,在開(kāi)發(fā)數(shù)據(jù)庫(kù)系統(tǒng)的時(shí)候,都會(huì)或多或少的采用一些開(kāi)源工具。如在報(bào)表的設(shè)計(jì)、菜單的設(shè)計(jì)方面,都有一些功能性比較 強(qiáng)的開(kāi)源工具。在這些開(kāi)源工具的幫助下,我們數(shù)據(jù)庫(kù)管理人員可以成倍的降低開(kāi)發(fā)時(shí)間,從而達(dá)到降低開(kāi)發(fā)成本的目的。從這一方面來(lái)說(shuō),由于 Oracle數(shù)據(jù)庫(kù)其天然的優(yōu)勢(shì),在第三方工具應(yīng)用上,從成本的角度考慮,取得了比較大的優(yōu)勢(shì)。
二、Oralce提供了很多收費(fèi)的工具。
若單從數(shù)據(jù)庫(kù)的價(jià)格來(lái)說(shuō),這兩個(gè)數(shù)據(jù)庫(kù)區(qū)別不是很大。但是,在利用Oracle數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā)的時(shí)候,往往還需要購(gòu)買(mǎi)一些其提供的工具才行。如PL*SQL等等。這些都是Oracle數(shù)據(jù)庫(kù)提供的收費(fèi)的數(shù)據(jù)庫(kù)開(kāi)發(fā)工具。
不過(guò),話說(shuō)回來(lái),這些數(shù)據(jù)庫(kù)開(kāi)發(fā)工具雖然需要收費(fèi),而且,費(fèi)用還不低。但是對(duì)于大部分?jǐn)?shù)據(jù)庫(kù)開(kāi)發(fā)人員來(lái)說(shuō),這些工具還真是少不了。因?yàn)檫@些工具的可用性 非常的高,可以從很大幅度上減少數(shù)據(jù)庫(kù)開(kāi)發(fā)的時(shí)間,降低數(shù)據(jù)庫(kù)開(kāi)發(fā)的成本。如筆者在開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用的時(shí)候,已經(jīng)離不開(kāi)PL*SQL這個(gè)工具了。他在筆者做 數(shù)據(jù)庫(kù)維護(hù)、數(shù)據(jù)庫(kù)開(kāi)發(fā)、報(bào)表制作等方面,都起了很大的幫助。可以說(shuō),大部分的數(shù)據(jù)庫(kù)開(kāi)發(fā)工作,都可以在這個(gè)工具上完成,而且,效率要比在其他工具上高得 多。
而對(duì)于SQL Server數(shù)據(jù)庫(kù)來(lái)說(shuō),要在這個(gè)數(shù)據(jù)庫(kù)系統(tǒng)上開(kāi)發(fā)應(yīng)用系統(tǒng)的話,一般只需要購(gòu)買(mǎi)這個(gè)數(shù)據(jù)庫(kù)軟件即可。在數(shù)據(jù)庫(kù)軟件中,本身就集成了一些免費(fèi)的數(shù)據(jù)庫(kù)開(kāi)發(fā) 工具。這就使得我們?cè)陂_(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用的時(shí)候,不需要再花額外的錢(qián)去購(gòu)買(mǎi)其他開(kāi)發(fā)工具。從這一方面來(lái)說(shuō),SQL Server數(shù)據(jù)庫(kù)占優(yōu)勢(shì)。
三、Oracle相關(guān)的技術(shù)人員比較值錢(qián)。
在人才市場(chǎng)上,企業(yè)若要招納同個(gè)檔次的Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)或者維護(hù)人才的話,往往要比其他數(shù)據(jù)庫(kù)管理人員付出更高的人力成本。或者說(shuō),同個(gè)檔次的數(shù)據(jù)庫(kù)管理人員,在應(yīng)聘的時(shí)候,Oracle數(shù)據(jù)庫(kù)管理人員往往的開(kāi)價(jià)比較高。
一方面,Oracle數(shù)據(jù)庫(kù)設(shè)計(jì)相對(duì)來(lái)說(shuō)比較復(fù)雜。這也就導(dǎo)致了Oracle數(shù)據(jù)庫(kù)管理員無(wú)論是在數(shù)據(jù)庫(kù)開(kāi)發(fā),還是在后續(xù)的數(shù)據(jù)庫(kù)維護(hù),都需要比其他數(shù)據(jù)庫(kù)管理員付出更多。而且,其涉及到的知識(shí)也更廣泛。
第二,Oracle數(shù)據(jù)庫(kù)管理人員或者開(kāi)發(fā)人員,在掌握Oracle數(shù)據(jù)庫(kù)的同時(shí),往往還需要掌握一些Linux等開(kāi)源操作系統(tǒng)的相關(guān)知識(shí)。這主要是因 為很多大型的Oralce數(shù)據(jù)庫(kù)都是在Linux等操作系統(tǒng)上運(yùn)行的。若光光懂得Oracle數(shù)據(jù)庫(kù),往往是不夠的。簡(jiǎn)單來(lái)說(shuō),在Linux系統(tǒng)上安裝 Oralce數(shù)據(jù)庫(kù)軟件,就比在微軟的操作系統(tǒng)上安裝要困難,環(huán)境變量、系統(tǒng)內(nèi)核參數(shù)等等都要自己進(jìn)行配置。因此,Oralce數(shù)據(jù)庫(kù)管理專家就要比其他 數(shù)據(jù)庫(kù)管理員值錢(qián)。
第三.從數(shù)據(jù)庫(kù)優(yōu)化方面來(lái)講,Oracle數(shù)據(jù)庫(kù)比較復(fù)雜,但是,優(yōu)化的效果比較好。數(shù)據(jù)庫(kù)優(yōu)化是數(shù)據(jù)庫(kù)開(kāi)發(fā)與管理 人員的一項(xiàng)比較重要的工作。對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化后,數(shù)據(jù)庫(kù)以及應(yīng)用軟件的執(zhí)行效率會(huì)有一個(gè)質(zhì)的提高。當(dāng)數(shù)據(jù)庫(kù)設(shè)計(jì)得越復(fù)雜,其提高的效果也就越明顯。相對(duì)于 其它數(shù)據(jù)庫(kù)來(lái)說(shuō),Oralce數(shù)據(jù)庫(kù)提供了相對(duì)較復(fù)雜的優(yōu)化內(nèi)容。如可以對(duì)表空間以及存儲(chǔ)文件進(jìn)行合理規(guī)劃,以提高輸入輸出效率;如針對(duì)一些大容量的表 格,Oralce數(shù)據(jù)庫(kù)提供了大表管理模型;在約束、數(shù)據(jù)類(lèi)型、查詢優(yōu)化方面,Oracle數(shù)據(jù)庫(kù)也提供了一些數(shù)據(jù)庫(kù)優(yōu)化的建議。可見(jiàn),在數(shù)據(jù)庫(kù)優(yōu)化方 面,我們可以看出,Oralce數(shù)據(jù)庫(kù)要比其他數(shù)據(jù)庫(kù)復(fù)雜。所以,對(duì)于數(shù)據(jù)庫(kù)管理人員的要求也比較高。
正是由于以上原因,所以一般來(lái)說(shuō),Oralce數(shù)據(jù)庫(kù)管理員要比其他數(shù)據(jù)庫(kù)管理員值錢(qián)一點(diǎn)。
綜上所述,Oracle數(shù)據(jù)庫(kù)的實(shí)施成本相對(duì)于其他數(shù)據(jù)庫(kù)來(lái)說(shuō),可能要高一些。不過(guò),有一個(gè)值得我們安慰的就是,若我們能夠充分利用現(xiàn)有的一些開(kāi)源工具,則可以大大的節(jié)省我們數(shù)據(jù)庫(kù)開(kāi)發(fā)與管理的成本。
另外,這沒(méi)有考慮一些隱形的成本。如Oralce數(shù)據(jù)庫(kù)加上Linux服務(wù)器系統(tǒng),比起SQL Server數(shù)據(jù)庫(kù)加上Windows服務(wù)器系統(tǒng)來(lái)說(shuō),穩(wěn)定性與安全性較前者好。當(dāng)然,前期條件是兩者都進(jìn)行合理的配置。若把這些隱性的風(fēng)險(xiǎn)考慮進(jìn)去,這兩個(gè)數(shù)據(jù)庫(kù)系統(tǒng)部署的時(shí)候,誰(shuí)更加便宜就不好說(shuō)了。因?yàn)閿?shù)據(jù)庫(kù)應(yīng)用的安全與穩(wěn)定性,對(duì)于不同的企業(yè)來(lái)說(shuō),其價(jià)值往往是不同的。