關於資料庫解析不使用的五個理由
在我們實際工作中,往往會能聽到很多關於不使用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資料庫的選用也不是說一定不好,只是在上面這五點上做的不是很好,其他方面還是值得肯定的。