範文齋

關於數據庫解析不使用的五個理由

在我們實際工作中,往往會能聽到很多關於不使用MySQL數據庫的理由,當然也有一些是對MySQL(和PHP搭配之最佳組合)的誤解,下面我將講述的是5個不使用MySQL(和PHP搭配之最佳組合)的響亮理由。

關於數據庫解析不使用的五個理由

首先我們要知道,或許有一項技術存在很多理由讓我們可以選擇使用它,但是讓我們不使用它往往只要有一個理由就足夠了。選擇一個軟件產品同樣也是如此。 MySQL數據庫雖然應用很廣泛,受到大家的青睞,但MySQL數據庫也有負面的作用,下面就介紹五個不適用 MySQL數據庫的給力理由。

1、MySQL(和PHP搭配之最佳組合)的授權方式

MySQL(和PHP搭配之最佳組合)採用雙重授權(Dual Licensed),它們是GPL和MySQL(和PHP搭配之最佳組合) AB制定的商業許可協議

如果你在一個遵循GPL的自由(開源)項目中使用MySQL(和PHP搭配之最佳組合),那麼你可以遵循GPL協議使用MySQL(和PHP搭配之最佳組合)。然而,如果你的項目不是在GPL協議下的話,你必須爲使用MySQL(和PHP搭配之最佳組合)來支付許可費用,或者你可能因爲這個因素而將你的項目改爲遵循GPL,那麼你需要處理因此帶來的更多的支持工作,這有可能會帶來成本上的提高。在這種情況下,一些軟件發行商可能傾向於選擇別的開源數據庫,例如遵循BSD授權的PostgreSQL。

2、產品成熟性

到2009年,甲骨文的數據庫Oracle(大型網站數據庫平臺)已經誕生了30週年,而MySQL(和PHP搭配之最佳組合)卻連它的一半時間都沒有。微軟的sql server(WINDOWS平臺上強大的數據庫平臺)僅僅比MySQL(和PHP搭配之最佳組合)大兩年,但是sql server(WINDOWS平臺上強大的數據庫平臺)的發佈是建立在Sybase的基礎上,那時候Sybase已經誕生了6年的時間。至於其他值得關注的開源數據庫,PostgreSQL將在2009年達到20歲的生日。雖然MySQL(和PHP搭配之最佳組合)並不是市場上最年輕的數據庫,但是卻有更多成熟的數據庫可供我們選擇。

當然,或許這並不是我們拒絕MySQL(和PHP搭配之最佳組合)的一個有說服力的理由,但是對於一些比較守舊的IT經理來說,在爲一些關鍵業務選擇平臺的時候,平臺的成熟性卻是必須要考慮的一個因素,在這一點上,MySQL(和PHP搭配之最佳組合)無疑毫無優勢。

3、功能設置成熟性

要想在MySQL(和PHP搭配之最佳組合)與其他數據庫之間進行一個面面俱到的功能設置對比,並不是一件容易的事情。隨着新軟件版本的發佈或一些補丁的'推出,曾經的功能列表可能會迅速變得過時了。而且,有些功能對有的應用程序非常重要,但是對別的應用程序則不一定。

有的時候,一些缺失的功能可以通過別的辦法來實現,例如,在MySQL(和PHP搭配之最佳組合) 4.1以前,你可以通過使用join方法來替代子查詢的功能。在MySQL(和PHP搭配之最佳組合) 5.0中,大多數關係型數據庫所要求的功能已經都具備,但是我們卻有理由懷疑這些功能在MySQL(和PHP搭配之最佳組合) 5.0中的成熟性。充其量它們在MySQL(和PHP搭配之最佳組合)中被支持的時間也就一年左右,而在其他關係型數據庫中則已經存在了近10年的時間。

4、認證的作用

儘管MySQL(和PHP搭配之最佳組合)也有一個認證培訓項目,但是它的培訓卻要比Oracle(大型網站數據庫平臺)或MS-SQL相差很遠。儘管有的使用MySQL(和PHP搭配之最佳組合)的用戶表示,MySQL(和PHP搭配之最佳組合)很容易上手,但是對於具有企業級數據庫需求的用戶來說,無疑希望員工得到系統、有深度的培訓,顯然MySQL(和PHP搭配之最佳組合)在這一點上還做得很不夠。

一個相關的問題是第三方支持的資格問題,儘管直接來自廠商的支持和服務可以一定程度上減緩這個問題,但是,對於有的企業來說,通過強有力的本地化支持顯然更有吸引力。

5、關於可擴展的看法

關於這個理由我把它放在最後一位。在很多業界專家中有一個相當一致的觀點:MySQL(和PHP搭配之最佳組合)不能很好的擴展。關於這點可能有很大的分歧,爭論的焦點主要集中於水平可擴展性和垂直可擴展性上。MySQL(和PHP搭配之最佳組合)則更傾向於垂直可擴展性。

據我的觀察,現在有一個趨勢,那些經過正式培訓的數據庫管理員DBA更傾向於選擇一個專有關係數據庫,例如Oracle(大型網站數據庫平臺)。對於一些具有專門數據庫管理員的比較大的環境來說,MySQL(和PHP搭配之最佳組合)很難得到寵愛,這時候,關於MySQL(和PHP搭配之最佳組合)是否真的具有良好的可擴展性的爭論已經沒有意義。

不可否認,MySQL(和PHP搭配之最佳組合)也是一個很好的關係型數據庫,或許在技術上它與其他領先的關係數據庫相差並不大,或不具有劣勢。但是,對於一些企業環境來說,MySQL(和PHP搭配之最佳組合)顯然不具有優勢。 所以不要盲目隨大流,也要根據其功能性能的好壞去選擇,對MySQL數據庫的選用也不是說一定不好,只是在上面這五點上做的不是很好,其他方面還是值得肯定的。