MySQL只可以用來做小項目嗎-創(chuàng)新互聯(lián)

下面一起來了解下MySQL只可以用來做小項目嗎,相信大家看完肯定會受益匪淺,文字在精不在多,希望MySQL只可以用來做小項目嗎這篇短內(nèi)容是你想要的。                              MySQL只可以用來做小項目嗎

專注于為中小企業(yè)提供網(wǎng)站制作、做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)太仆寺免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

我上學(xué)那會,很多人對 MySQL 有一些偏見,偏見主要集中在以下幾方面:

1. MySQL 不支持事務(wù)(事實上 MyISAM 有表鎖,但是效率比較低)

2. MySQL 存儲的數(shù)據(jù)量比較小,適合小項目,大項目還是得上 Oracle、DB2 等

這么多年過去了,我自己在開發(fā)中一直是以 MySQL 為主,我覺得我有必要說兩句公道話了。

公道話

第一個問題

關(guān)于第一個不支持事務(wù)的問題,這有一定的歷史原因。MySQL 從設(shè)計之初,存儲引擎就是可插拔的,允許公司或者個人按照自己的需求定義自己的存儲引擎(當然,普通的公司或者個人其實是沒有這個實力的)。MySQL 自研的使用較廣的存儲引擎是 MyISAM ,MyISAM 支持表鎖,不支持行鎖,所以在處理高并發(fā)寫操作時效率要低一些,另外 MyISAM 也不支持外鍵(雖然現(xiàn)在實際項目中外鍵已經(jīng)用的比較少了)。

但是這個問題并非無解。這就不得不說 MySQL 中另外一個大名鼎鼎的存儲引擎 InnoDB 了。

InnoDB 存儲引擎是由一家位于芬蘭赫爾辛基的名為 Innobase Oy 的公司開發(fā)的,InnoDB 存儲引擎的歷史甚至比 MySQL 還要悠久。

InnoDB 剛剛開發(fā)的時侯,就是作為一個完整的數(shù)據(jù)庫來開發(fā)的,因此功能很完備。開發(fā)出來之后,創(chuàng)始人是想將這個數(shù)據(jù)庫賣掉的,但是沒有找到買家。

后來 MySQL2.0 推出后,這種可插拔的存儲引擎吸引了 Innobase Oy 公司創(chuàng)始人 Heikki Tuuri 的注意,在和 MySQL 溝通之后,決定將 InnoDB 作為一個存儲引擎引入到 MySQL 中,MySQL 雖然支持 InnoDB ,但是實際上還是主推自家的 MyISAM。

但是 InnoDB 實在太優(yōu)秀了,最終在 2006 年的時侯,成功吸引到大魔王 Oracle 的注意,大手一揮,就把 InnoDB 收購了。

MySQL 主推自家的 MyISAM ,日子過得也很慘淡,最終在 2008 年被 sun 公司以 10 億美元拿下,這個操作鞏固了 sun 在開源領(lǐng)域的領(lǐng)袖的地位,可是一直以來 sun 公司的變現(xiàn)能力都比較弱,最終 sun 自己在 2009 年被 Oracle 收入囊中。那會我還在讀高中,某一天吃午飯的時侯,餐廳的電視機上播放央視的午間新聞,看到了這條消息,現(xiàn)在還有一些印象。

Oracle 收購 sun 之后,InnoDB 和 MySQL 就都成了 Oracle 的產(chǎn)品了,這下整合就變得非常容易了,在后來發(fā)布的版本中,InnoDB 慢慢就成為了 MySQL 的默認存儲引擎。在最新的 MySQL8 中,元數(shù)據(jù)表也使用了 InnoDB 作為存儲引擎。

InnoDB 存儲引擎主要有如下特點:

1. 支持事務(wù)

2. 支持 4 個級別的事務(wù)隔離

3. 支持多版本讀

4. 支持行級鎖

5. 讀寫阻塞與事務(wù)隔離級別相關(guān)

6. 支持緩存,既能緩存索引,也能緩存數(shù)據(jù)

7. 整個表和主鍵以 Cluster 方式存儲,組成一顆平衡樹

8. ...

當然也不是說 InnoDB 一定就是好的,在實際開發(fā)中,還是要根據(jù)具體的場景來選擇到底是使用 InnoDB 還是 MyISAM 。

所以第一個問題不攻自破。

第二個問題

第二個問題確實是一個硬傷。

你要是拿 MySQL 和 Oracle 比,肯定是要差一點點感覺。畢竟一個免費一個收費,而且收費的還很貴。但是這個問題并非無解。

相信很多小伙伴都聽過國內(nèi)很多大廠都使用了 MySQL 來存儲數(shù)據(jù)。大廠用 MySQL ,是因為他們有能力研發(fā)出自己的存儲引擎,小廠一般沒有這個實力,沒法去研發(fā)出自己的存儲引擎,但是 Oracle 又用不起,那么怎么辦呢?

這幾年興起的分布式數(shù)據(jù)庫中間件剛好可以很好的解決這個問題。Java 領(lǐng)域,類似的工具很多,例如 Sharding-JDBC 、MyCat 等,通過這些工具,可以很好的實現(xiàn)數(shù)據(jù)庫分庫分表,以及數(shù)據(jù)表的動態(tài)擴展、讀寫分離、分布式事務(wù)解決等。有了這些工具,極大的提高了 MySQL 的應(yīng)用場景。

另一方面,近些年流行微服務(wù),這不是單純的炒概念,微服務(wù)架構(gòu)將一個大的項目拆分成很多個小的微服務(wù),各個微服務(wù)處理自己很小的一部分事情,這更符合人類分工協(xié)作的特點。在微服務(wù)架構(gòu)中,我們對大表的需求、對多表聯(lián)合查詢的需求都會有所降低,MySQL 也更具用武之地。

因此,第二個問題也是可以解決的。

據(jù)我了解,互聯(lián)網(wǎng)公司使用 MySQL 還是比較多的,傳統(tǒng)軟件公司,可能會更青睞 Oracle 等數(shù)據(jù)庫。

看完MySQL只可以用來做小項目嗎這篇文章后,很多讀者朋友肯定會想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文名稱:MySQL只可以用來做小項目嗎-創(chuàng)新互聯(lián)
文章分享:http://bm7419.com/article2/dihpoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、自適應(yīng)網(wǎng)站、定制網(wǎng)站、網(wǎng)站營銷、網(wǎng)站導(dǎo)航、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作