精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

MySQL還是NoSQL:開(kāi)源盛世下的數(shù)據(jù)庫(kù)該如何選擇

責(zé)任編輯:editor004

2014-03-06 16:51:13

摘自:TheNextWeb

MySQL體積小、速度快、成本低、結(jié)構(gòu)穩(wěn)定、便于查詢,可以保證數(shù)據(jù)的一致性,但缺乏靈活性。如果規(guī)模和性能比24小時(shí)的數(shù)據(jù)一致性更重要,那NoSQL是一個(gè)理想的選擇 (NoSQL依賴于BASE模型——基本可用、軟狀態(tài)、最終一致性)。

開(kāi)源數(shù)據(jù)領(lǐng)域被分成了兩派,NoSQL狂熱支持者喜歡發(fā)表長(zhǎng)篇大論批評(píng)關(guān)系型數(shù)據(jù)庫(kù)的局限性,MySQL愛(ài)好者則固執(zhí)地捍衛(wèi)關(guān)系型數(shù)據(jù)庫(kù)——堅(jiān)持讓數(shù)據(jù)整齊地存放在表中。

你肯定會(huì)認(rèn)為這兩方?jīng)Q不可能和睦相處,但事實(shí)上,成千上萬(wàn)的公司一直都在努力將關(guān)系型和非關(guān)系型數(shù)據(jù)庫(kù)結(jié)合起來(lái),而且很多年前就有這樣的嘗試了。

但新技術(shù)的發(fā)展往往和過(guò)去的技術(shù)對(duì)立。當(dāng)NoSQL發(fā)展起來(lái)時(shí),光這個(gè)名字聽(tīng)起來(lái)就像是要宣告關(guān)系數(shù)據(jù)庫(kù)的終結(jié),但這是不可能的,至少不會(huì)這么快。

Craigslist的成功

Craigslist公司無(wú)縫集成結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)檢索是個(gè)很好的例子。過(guò)去,該公司一直用MySQL處理頻繁的任務(wù)和分類廣告。

盡管工作量很大,MySQL還是能輕松地完成這項(xiàng)任務(wù)。只有當(dāng)存檔數(shù)據(jù)達(dá)到超紀(jì)錄的級(jí)別時(shí),才會(huì)產(chǎn)生對(duì)NoSQL的需求。由于管理的要求,Craigslist必須將所有歷史數(shù)據(jù)存檔——即使是SXSW期間為奧斯汀那昏暗、高價(jià)的公寓所做的廣告也得存檔。

如果一個(gè)關(guān)系型數(shù)據(jù)庫(kù)依靠數(shù)據(jù)之間的邏輯,那前端架構(gòu)的更改必然會(huì)影響到存檔數(shù)據(jù)。這是一個(gè)高風(fēng)險(xiǎn)、高時(shí)耗的過(guò)程,而且它會(huì)造成停機(jī)時(shí)間損失。想象一下去更新帶有10億條記錄的MySQL服務(wù)器集群!

Craigslist發(fā)現(xiàn)需要以離散方式處理兩類數(shù)據(jù)——當(dāng)前數(shù)據(jù)和歷史數(shù)據(jù)。Craigslist或許已經(jīng)轉(zhuǎn)而使用MongoDB幫助應(yīng)對(duì)數(shù)據(jù)的增長(zhǎng),但是與MySQL一起運(yùn)行的NoSQL也從沒(méi)有出現(xiàn)過(guò)問(wèn)題,這說(shuō)明MySQL和NoSQL可以很好的結(jié)合。

開(kāi)源同盟

越來(lái)越多的應(yīng)用開(kāi)發(fā)商和托管服務(wù)提供商認(rèn)識(shí)到NoSQL和MySQL一直是開(kāi)源同盟,沒(méi)有因數(shù)據(jù)庫(kù)類型不同而成為不相往來(lái)的仇敵。歸于一點(diǎn),數(shù)據(jù)就是數(shù)據(jù),它應(yīng)該用來(lái)為應(yīng)用程序和用戶服務(wù),不應(yīng)該受到后端數(shù)據(jù)庫(kù)的限制。

越來(lái)越多的Rackspace客戶發(fā)現(xiàn)自己面臨和Craigslist同樣的處境。當(dāng)關(guān)系型數(shù)據(jù)庫(kù)涵蓋所有他們的數(shù)據(jù)領(lǐng)域時(shí),他們構(gòu)建了自己的數(shù)據(jù)結(jié)構(gòu),而現(xiàn)在他們已經(jīng)進(jìn)入應(yīng)用時(shí)代了。

達(dá)到100萬(wàn)客戶原先需要數(shù)年時(shí)間,現(xiàn)在只需要幾周就可以了,而且社會(huì)共享和實(shí)時(shí)查詢對(duì)數(shù)據(jù)提出了新的要求——也需要支持這些數(shù)據(jù)的基礎(chǔ)設(shè)施,這一系列變化使他們面臨的數(shù)據(jù)量達(dá)到了每月10億之巨。

他們不一定要挖掘MySQL數(shù)據(jù)庫(kù),但他們需要增加數(shù)據(jù)引擎。為了增加數(shù)據(jù)庫(kù)的速度和靈活性,MongoDB、Cassandra或者Redis(這類數(shù)據(jù)庫(kù))會(huì)被納入數(shù)據(jù)結(jié)構(gòu)中。但這些開(kāi)源數(shù)據(jù)庫(kù)不太可能用于存儲(chǔ)用戶機(jī)密信息或者財(cái)務(wù)記錄,因?yàn)檫@些內(nèi)容必須始終保持一致性。

目前,技術(shù)公司在聘請(qǐng)傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)管理員同時(shí),組建一個(gè)NoSQL應(yīng)用開(kāi)發(fā)團(tuán)隊(duì)也很常見(jiàn)。有時(shí),基于關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)的同一個(gè)應(yīng)用甚至可以在Web層進(jìn)行通信。

過(guò)去的數(shù)據(jù)庫(kù)管理員必須和新一代使用NoSQL編程的開(kāi)發(fā)人員合作,進(jìn)行有關(guān)部署和體系結(jié)構(gòu)的決策(也許這些數(shù)據(jù)庫(kù)管理員和開(kāi)發(fā)人員也能成為朋友)。

可能這類公司連數(shù)據(jù)庫(kù)管理員也沒(méi)有,它們將所有的應(yīng)用和數(shù)據(jù)層外包給托管服務(wù)供應(yīng)商,這樣的話,它們就得充分利用深厚的專業(yè)知識(shí)和團(tuán)隊(duì)合作,才能跨越SQL與NoSQL之間的鴻溝。

選擇其中一個(gè)?還是兩者都要?

應(yīng)用程序是否應(yīng)該與關(guān)系型數(shù)據(jù)庫(kù)或NoSQL(也許是兩者)相一致,當(dāng)然,這得基于被生成或被檢索數(shù)據(jù)的性質(zhì)。和大多數(shù)科技領(lǐng)域的事物一樣,做決定時(shí)要折中考慮。

如果規(guī)模和性能比24小時(shí)的數(shù)據(jù)一致性更重要,那NoSQL是一個(gè)理想的選擇 (NoSQL依賴于BASE模型——基本可用、軟狀態(tài)、最終一致性)。

但如果要保證到“始終一致”,尤其是對(duì)于機(jī)密信息和財(cái)務(wù)信息,那么MySQL很可能是最優(yōu)的選擇(MySQL依賴于ACID模型——原子性、一致性、獨(dú)立性和耐久性)。

作為開(kāi)源數(shù)據(jù)庫(kù),無(wú)論是關(guān)系型數(shù)據(jù)庫(kù)還是非關(guān)系型數(shù)據(jù)庫(kù)都在不斷成熟,我們可以期待還會(huì)有一大批基于ACID和BASE模型的新應(yīng)用產(chǎn)生。

暫且把它稱為混合方案。有時(shí)這些應(yīng)用程序的設(shè)計(jì)需要認(rèn)真地權(quán)衡利弊,有時(shí)還能意外的得到發(fā)展,做出一系列調(diào)整以適應(yīng)不斷變化的數(shù)據(jù)需求,畢竟,誰(shuí)能預(yù)測(cè)到今天社會(huì)共享數(shù)據(jù)的大規(guī)模增加(即使是在五年前)?

像往常一樣,開(kāi)發(fā)人員處于這種創(chuàng)新的最前沿,他們促使托管服務(wù)提供商將這兩個(gè)數(shù)據(jù)領(lǐng)域結(jié)合到一起。在必要時(shí)候,他們還會(huì)對(duì)開(kāi)源數(shù)據(jù)技術(shù)進(jìn)行修正。

比如,在Oracle占有了MySQL后,MySQL有閉源的風(fēng)險(xiǎn),基于MySQL的MariaDB很好的替代了MySQL。開(kāi)發(fā)者社區(qū)要求其開(kāi)源工具完全透明,包括開(kāi)放對(duì)測(cè)試用例bug修復(fù)的權(quán)限。

此混合方案在2014年將繼續(xù)發(fā)展,托管公司也會(huì)提供更好的支持。在媒體上,我們就不會(huì)再說(shuō)“要么關(guān)系型數(shù)據(jù)庫(kù),要么非關(guān)系型數(shù)據(jù)庫(kù)”這樣的話了。

這和混合云領(lǐng)域所用方法是類似的。專用硬件有著優(yōu)越的性能,而公共云有很好的可擴(kuò)展性,結(jié)合兩者優(yōu)點(diǎn)可以帶來(lái)更大的靈活性,產(chǎn)生最合適的解決方案,這才是解決問(wèn)題的最優(yōu)辦法。

畢竟,數(shù)據(jù)收集和解釋的最終目標(biāo)是捕獲這個(gè)瞬息萬(wàn)變世界發(fā)生的每一條信息。數(shù)據(jù),無(wú)論來(lái)自何處,都只是一個(gè)窗口,真正重要的是透過(guò)這個(gè)窗口看到的景象。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 东乡族自治县| 墨玉县| 简阳市| 清苑县| 静乐县| 澄江县| 新巴尔虎右旗| 大埔区| 慈利县| 普格县| 泽州县| 青冈县| 扬中市| 南安市| 通化县| 张北县| 丰城市| 绥化市| 五大连池市| 通许县| 长丰县| 化德县| 双峰县| 西城区| 新建县| 马尔康县| 临朐县| 大足县| 临潭县| 南涧| 吉林市| 建湖县| 惠州市| 五家渠市| 化隆| 申扎县| 大余县| 隆林| 武宣县| 茶陵县| 馆陶县|