共計(jì) 3349 個(gè)字符,預(yù)計(jì)需要花費(fèi) 9 分鐘才能閱讀完成。
這篇文章給大家分享的是有關(guān)不使用 MySQL 的理由有哪些的內(nèi)容。丸趣 TV 小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨丸趣 TV 小編過來看看吧。
不使用 MySQL 的理由有哪些
首先,不使用某種技術(shù)的理由和使用這個(gè)技術(shù)的理由在本質(zhì)上不同。常常,反對(duì)某些東西的理由會(huì)更加讓人注意。我們可能需要幾條理由才會(huì)真正的使用這個(gè)技術(shù),但是只要一個(gè)理由就會(huì)讓我們止步。軟件的選擇就是這樣的決定,僅有一個(gè)理由是決不足夠促使我們做出肯定的決定,但是一個(gè)充分的負(fù)面理由會(huì)否定很多積極的因素。
雖然有一長(zhǎng)串關(guān)系數(shù)據(jù)庫管理系統(tǒng) (RDBMS) 可以供我們選擇,但是我將對(duì)比限制在幾個(gè)最常用的產(chǎn)品上。雖然全面的對(duì)比很少,還是存在著很多技術(shù)上的比較。在這里,我們只關(guān)心“正規(guī)”理由。
MySQL 使用 GPL
最重要的理由優(yōu)先。在這里并不適合 GNUGeneralPublicLicense,并且也不應(yīng)該是數(shù)據(jù)庫技術(shù)的選擇。很明顯,GPL 許可證對(duì)很多環(huán)境是積極的,但是對(duì)于其他一些環(huán)境,GPL 的軟件是沒有希望的。在這些情況下,連 PostgreSQL 的 BSD 許可證仍然太“開放”,那么一個(gè)商業(yè)的許可證會(huì)更加適合。
MySQL 不使用 GPL
在一些情況下,MySQL 是收費(fèi)的,這樣 GPL 可能不能很好的服務(wù)于這些情況。如果你想要將這個(gè)數(shù)據(jù)庫的許可證和你自己的項(xiàng)目一起銷售,你的項(xiàng)目一定要采用相似的許可證,或者你需要購買商業(yè)許可證。如果這個(gè)因素改變了你的軟件的銷售方式,你需要處理由于必須支持 MySQL 的多個(gè)版本或者配置而引起的額外的負(fù)擔(dān)(這會(huì)增加終端用戶的成本),或者存在由于 MySQL 的使用造成的不合理的影響。在這些情況下,一些軟件分銷商可能傾向于采用其他的產(chǎn)品,比如 BSD 許可證的 PostgreSQL。
和現(xiàn)有環(huán)境的集成
我知道大型的 IT 公司會(huì)有 Oracle 和 Sybase 的單位軟件使用權(quán) (SiteLicense),以及很多 MS-SQLServer 的專有許可證(specificlicense)。在這些公司中,這種 MS-SQL 的實(shí)例主要是各部門的無知職員造成的,他們不知道他們已經(jīng)花錢購買了其他數(shù)據(jù)庫的 sitelicense。在這種環(huán)境下,再加入 MySQL(或者其他的數(shù)據(jù)庫) 是不明智的想法,如果 DBA 已經(jīng)有太多環(huán)境需要處理。在存在已有數(shù)據(jù)庫的情況下,如果維護(hù)的是一個(gè)通用的平臺(tái),那么很明顯維護(hù)的負(fù)擔(dān)會(huì)降低。進(jìn)一步,如果這個(gè)公司已經(jīng)有了使用某個(gè)私有系統(tǒng)的許可證,那么使用 MySQL 的主要理由就不存在了。
產(chǎn)品的成熟度
通過比較,在 2009 年 Oracle 將慶祝它的第一個(gè)產(chǎn)品發(fā)布了 30 周年,那時(shí) MySQL 第一個(gè)產(chǎn)品的發(fā)布時(shí)間還不到 Oracle 的一半。單就自身而言,MicrosoftSQLServer 僅僅比 MySQL 早了幾年,但是它的第一次發(fā)布的產(chǎn)品是基于 Sybase 的,該產(chǎn)品的比 SQLServer 早了 6 年。至于其他著名的開源數(shù)據(jù)庫,在 2009 年 PostgreSQL 距離第一次發(fā)布已經(jīng) 20 年。雖然 MySQL 并不是市場(chǎng)上最新的數(shù)據(jù)庫,但是還有很多更老、更穩(wěn)定的可選產(chǎn)品——并且對(duì)很多人來說,這個(gè)理由已經(jīng)足夠了。公平的講,以我的觀點(diǎn)這個(gè)理由并不是反對(duì)使用 MySQL 的特別充分的理由,但是同時(shí),我被逼著告訴一位將為關(guān)鍵任務(wù)的應(yīng)用選擇平臺(tái)的保守 IT 經(jīng)理基于這個(gè)理由作決定將是錯(cuò)誤的。
功能集的成熟度
有些人被吸引去編輯 MySQL 和其他系統(tǒng)的全面的功能比較,以此作為權(quán)威的決策工具,但是在很多情況下,這根本就不可能成功。隨著各個(gè)廠商新版本或者補(bǔ)丁的的發(fā)布,這個(gè)功能列表很快變得過時(shí)。進(jìn)一步,對(duì)某些應(yīng)用很重要的功能和其他的應(yīng)用一點(diǎn)關(guān)系都沒有,這樣“10% 更多的功能”將是沒有結(jié)果的度量。真正發(fā)揮作用的是在發(fā)布的時(shí)候功能集是否和需求一致,或者足夠一致。
有時(shí)候,你可以繞過一些缺少的功能,比如 MySQL4.1 版本中使用 join 替代子查詢。RDBMS 中大部分的必要的功能都在 MySQL5.0 中實(shí)現(xiàn),但是我們?nèi)匀挥欣碛烧J(rèn)為這些功能的成熟是避開 MySQL 的一個(gè)可能的理由。比如,缺乏視圖、觸發(fā)器和存儲(chǔ)過程是對(duì) MySQL 由來已久的批評(píng)。這些都被 MySQL 支持超過一年時(shí)間了,但是相比之下,在其他的 RDBMS 中這些功能已經(jīng)存在超過 10 年了。
當(dāng)然,MySQL 團(tuán)隊(duì)的開發(fā)周期在很多方面都給人留下了深刻的印象。然而,如果用戶的性格是排斥新技術(shù),那么長(zhǎng)期支持的功能獲勝的概率會(huì)更大。在這種情況下,上面提到的三個(gè)主要的功能就是日前才加入的。即使在 MySQL5.0 中,ACID(Atomicity,Consistency,Isolation,Durability)的一致性在當(dāng)一些存儲(chǔ)過程或者函數(shù)被用于修改數(shù)據(jù)庫而造成死機(jī)的情況下還是無法保證的。
認(rèn)證的可用性
有一些 IT 公司喜歡認(rèn)證。雖然 MySQL 的確有一個(gè)認(rèn)證培訓(xùn)計(jì)劃,它的培訓(xùn)可用性還是沒有 Oracle 或者 MS-SQLServer 那樣廣泛。廣義上講,即使 MySQL 的 IT 人員相對(duì)容易找到,但是認(rèn)證或者培訓(xùn)仍然很少,也沒有很多第三方的培訓(xùn)可用。對(duì)于大的 IT 公司而言,遵循商業(yè)數(shù)據(jù)庫系統(tǒng)的實(shí)際的公司經(jīng)驗(yàn)也是需要的,但是一些具有 MySQL 經(jīng)驗(yàn)的人可能沒有足夠的深度。
另外一個(gè)相關(guān)的問題是合格的第三方的支持的可用性。雖然直接從廠商得到的支持服務(wù)能夠在一定程度上解決這個(gè)問題,但是如果強(qiáng)烈的需要第三方的本地的現(xiàn)場(chǎng)支持,那么這個(gè)問題還是存在。
公司因素的考慮
Oracle、Sybase 和 Microsoft 都是上市公司。關(guān)于 MySQL 公司后臺(tái)的實(shí)力的無論怎么說,事實(shí)是這家公司不是上市公司,意味著按照法律財(cái)政數(shù)據(jù)不需要公開。冒著被指控傳播 FUD(懼、惑、疑,F(xiàn)ear,UncertaintyandDoubt)的風(fēng)險(xiǎn),上市公司相對(duì)透明 (無論正確與否) 能夠?yàn)橐恍?IT 經(jīng)理和他們報(bào)告的上級(jí)提供些許的確定性、可靠性和安全。如同一句老話說的,沒有人因?yàn)橘徺I了 IBM 的產(chǎn)品而被解雇,這句話同樣適用于這里 (即使 IBM 日前決定銷售 MySQL); 使用著名大公司的產(chǎn)品的確幫助一些人在晚上睡的著,他們是投資者、PHB(Dilbertreference:Pointy-HairedBosses) 和經(jīng)驗(yàn)豐富的 IT 經(jīng)理。
可擴(kuò)展性的領(lǐng)悟
我很小心的命名這最后一個(gè)理由。很多業(yè)內(nèi)的專家對(duì)于 MySQL 不能很好的擴(kuò)展都有一致的感知。這個(gè)問題被很多人都討論過,雖然大部分的討論趨于消除水平擴(kuò)展和垂直擴(kuò)展之間區(qū)別。MySQL 談到水平擴(kuò)展比垂直擴(kuò)展的次數(shù)更多,但是將可擴(kuò)展性列為使用 MySQL 的主要理由之一。
不使用 MySQL 的理由有哪些
同時(shí)、我注意到存在著一個(gè)趨勢(shì),但是我還沒有可靠的數(shù)據(jù)支持這個(gè)趨勢(shì),那就是受過正規(guī)培訓(xùn)的 DBA 往往會(huì)選擇私有的 RDBMS,比如 Oracle。我懷疑那些有正規(guī)培訓(xùn)和經(jīng)驗(yàn)的 DBA(而不是軟件工程師)往往對(duì)私有的系統(tǒng)有一種偏愛。在那些為 DBA 分配了固定角色的大環(huán)境中(相對(duì)于兼職的咨詢師或者兼具程序員身份的人),MySQL 可能由于這個(gè)原因而失寵。在這個(gè)層次上,MySQL 的擴(kuò)展性是否是個(gè)真實(shí)或者想象出來的批評(píng)就變的無關(guān)緊要了。如果沒有一個(gè)充分的理由顛覆這個(gè)因素,當(dāng)你負(fù)責(zé)安排資源的時(shí)候,你想要給他們那些他們最喜歡、帶來好處的工具。如果你的那些具有 15 年經(jīng)驗(yàn)的 DBA 想要 Oracle,并且 Oracle 也在預(yù)算之內(nèi),那么從長(zhǎng)遠(yuǎn)來看這個(gè)方法會(huì)有回報(bào)的。
進(jìn)行到了這里,當(dāng)比較幾種穩(wěn)定的、成熟的、功能豐富的產(chǎn)品的時(shí)候,人們就可以不再于哪一個(gè)才是絕對(duì)意義上“更好的”產(chǎn)品這個(gè)問題。取代這個(gè)問題的應(yīng)該是一個(gè)需要更多洞察力的問題:哪一個(gè)產(chǎn)品才是最適合于給定環(huán)境的。我認(rèn)為主要的 RDBMS 產(chǎn)品都會(huì)遇到這個(gè)問題,包括 MySQL。這個(gè)情況何時(shí)發(fā)生的問題對(duì)一些產(chǎn)品可能是公開的,而這幾個(gè)產(chǎn)品也歡迎在這個(gè)問題上展開討論。我能夠這么說,每個(gè)產(chǎn)品都會(huì)有不適用的特殊時(shí)刻,這就是今天的格局,對(duì)任何主要的系統(tǒng)都是一樣的。在 MySQL 的例子中,我相信我們已經(jīng)提到了幾個(gè)最充分的理由——這些理由不會(huì)是一錘子買賣,也不會(huì)很快變的過期的。
感謝各位的閱讀!關(guān)于“不使用 MySQL 的理由有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!