精品国产亚洲一区二区三区|亚洲国产精彩中文乱码AV|久久久久亚洲AV综合波多野结衣|漂亮少妇各种调教玩弄在线

<blockquote id="ixlwe"><option id="ixlwe"></option></blockquote>
  • <span id="ixlwe"></span>

  • <abbr id="ixlwe"></abbr>

    傳統(tǒng)關(guān)系型數(shù)據(jù)庫、NoSQL、NewSQL,三者如何在云時(shí)代共處?

    原標(biāo)題:傳統(tǒng)關(guān)系型數(shù)據(jù)庫、NoSQL、NewSQL,三者如何在云時(shí)代共處?

    數(shù)據(jù)已經(jīng)是當(dāng)下及未來最重要的生產(chǎn)資料,而伴隨數(shù)據(jù)價(jià)值的不斷提升,以及數(shù)據(jù)的爆炸式增長,數(shù)據(jù)庫作為數(shù)據(jù)存儲(chǔ)的重要載體,正在迎來變化。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫越來越積極地?fù)肀磥恚滦驮圃臄?shù)據(jù)庫架構(gòu)備受關(guān)注。

    那么,關(guān)系型數(shù)據(jù)庫的未來走向如何?新型數(shù)據(jù)庫架構(gòu)又有哪些?誰才是未來?不要著急下一個(gè)結(jié)論,本文在深入探討每一種數(shù)據(jù)庫優(yōu)劣勢的基礎(chǔ)上,結(jié)合未來,做一個(gè)全面的梳理。

    關(guān)系型數(shù)據(jù)庫老矣?

    關(guān)系型數(shù)據(jù)庫從出現(xiàn)至今,幾十年時(shí)間里一直是數(shù)據(jù)庫領(lǐng)域的佼佼者。

    根據(jù)全球較為權(quán)威的DB-Engines公布的數(shù)據(jù)庫統(tǒng)計(jì)排名,截至2018年6月,排名前6位的數(shù)據(jù)庫,僅有排名第5的MongoDB是文檔型數(shù)據(jù)庫,其余全部是關(guān)系型數(shù)據(jù)庫,且前3位所占有的比重遠(yuǎn)領(lǐng)先于其它數(shù)據(jù)庫。 關(guān)系型數(shù)據(jù)庫在經(jīng)過大數(shù)據(jù)、NoSQL及NewSQL等新興技術(shù)的輪番轟炸后依然堅(jiān)挺,這與其固有的優(yōu)勢密不可分。

    總結(jié)起來,主要體現(xiàn)在對(duì)開發(fā)、運(yùn)維、系統(tǒng)這三個(gè)方面上的重大影響上。

    1、開發(fā)優(yōu)勢

    對(duì)于開發(fā)人員來說,關(guān)系型數(shù)據(jù)庫的首要優(yōu)勢是面向SQL。

    SQL是關(guān)系型數(shù)據(jù)庫的結(jié)構(gòu)化查詢語言,雖然不同的關(guān)系型數(shù)據(jù)庫有不同的SQL方言,但基于ANSI標(biāo)準(zhǔn)的SQL是大部分?jǐn)?shù)據(jù)庫支持的。SQL是面向數(shù)據(jù)庫的訪問語言,可以非常方便地對(duì)數(shù)據(jù)庫進(jìn)行增、刪、改、查以及授權(quán)和管理。而且SQL的查詢靈活度非常高,可以十分便捷地在聯(lián)機(jī)事務(wù)處理(OLTP)與聯(lián)機(jī)分析處理(OLAP)之間轉(zhuǎn)換。 另外,SQL是應(yīng)用開發(fā)工程師必須掌握的一門編程語言,流行度非常高,對(duì)于任何公司而言,招聘到一個(gè)完全不會(huì)寫SQL的應(yīng)用開發(fā)工程師的概率非常小。因此,SQL極大地降低了招聘開發(fā)人員的成本。 除了SQL語言本身,各種開發(fā)語言對(duì)關(guān)系型數(shù)據(jù)庫的支持也十分完善。

    以Java為例,JDBC是Java語言訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)接口,各個(gè)關(guān)系型數(shù)據(jù)庫廠商均提供了實(shí)現(xiàn)JDBC接口的驅(qū)動(dòng)程序。使用Java語言進(jìn)行開發(fā)的工程師無需感知不同關(guān)系型數(shù)據(jù)庫間的差異,只要根據(jù)JDBC接口編程即可。

    2、運(yùn)維優(yōu)勢

    關(guān)系型數(shù)據(jù)庫由于存在時(shí)間長久,因此針對(duì)每一種常見的關(guān)系型數(shù)據(jù)庫,都能比較容易地招聘到相應(yīng)的數(shù)據(jù)庫管理員(DBA),以保證數(shù)據(jù)庫的穩(wěn)定性、完整性、安全性、并通過監(jiān)控和分析關(guān)系型數(shù)據(jù)庫的系統(tǒng)瓶頸提升設(shè)計(jì)的合理性。 成熟的關(guān)系型數(shù)據(jù)庫擁有完善的生態(tài)圈,可以保證用于實(shí)現(xiàn)數(shù)據(jù)備份、性能監(jiān)測分析等功能的配套工具能夠正常使用。規(guī)模較大的企業(yè)以及重要業(yè)務(wù)系統(tǒng)一般都需要專門的DBA進(jìn)行運(yùn)維工作。

    3、系統(tǒng)優(yōu)勢

    只有時(shí)間才是檢驗(yàn)技術(shù)是否成熟與穩(wěn)定的標(biāo)準(zhǔn)。

    關(guān)系型數(shù)據(jù)庫經(jīng)歷了幾十年的考驗(yàn),能夠應(yīng)對(duì)超大規(guī)模的使用需求,其存儲(chǔ)引擎也十分成熟。基于MVCC的數(shù)據(jù)庫引擎在性能和正確性上能做到很好的平衡,并且能通過B+Tree索引大幅提升查詢的效率。面對(duì)數(shù)據(jù)庫這樣的關(guān)鍵組件,謹(jǐn)慎選用是架構(gòu)師們需要十分注意的。 基于ACID的事務(wù)是關(guān)系型數(shù)據(jù)庫帶給應(yīng)用系統(tǒng)的又一次強(qiáng)力保障。

    ACIDACID是數(shù)據(jù)庫事務(wù)能夠正確執(zhí)行的四個(gè)基本要素的首字母,分別指代:原子性(Atomicity)一致性(Consistency)隔離性(Isolation)持久性(Durability)。

    只有支持事務(wù)的數(shù)據(jù)庫才能最大限度地保證數(shù)據(jù)的正確性和完整性。

    不過,盡管關(guān)系型數(shù)據(jù)庫的性能和訪問承載能力在面向單一數(shù)據(jù)節(jié)點(diǎn)的企業(yè)級(jí)應(yīng)用時(shí)代是無可挑剔的。但在訪問量和數(shù)據(jù)量急劇增長的今天,關(guān)系型數(shù)據(jù)庫已經(jīng)很難再像以前那樣作為大規(guī)模系統(tǒng)的底層支撐了,甚至成為了應(yīng)用系統(tǒng)的瓶頸。

    關(guān)系型數(shù)據(jù)庫的不足主要體現(xiàn)在:單節(jié)點(diǎn)并發(fā)訪問量受限、單節(jié)點(diǎn)數(shù)據(jù)承載量受限、分布式事務(wù)性能衰退嚴(yán)重。原因歸根結(jié)底是設(shè)計(jì)初衷有一定的問題。它并非分布式的產(chǎn)物,對(duì)分布式系統(tǒng)天生不友好,因此它很難適應(yīng)互聯(lián)網(wǎng)的架構(gòu)模型。面對(duì)可以隨時(shí)彈性擴(kuò)容的無狀態(tài)服務(wù),使用關(guān)系型數(shù)據(jù)庫已經(jīng)略顯笨重。

    另辟蹊徑的NoSQL數(shù)據(jù)庫

    隨著關(guān)系型數(shù)據(jù)庫的不足之處越來越明顯地被暴露出來,NoSQL數(shù)據(jù)庫出現(xiàn)了。

    NoSQL數(shù)據(jù)庫的目的并不是取代SQL數(shù)據(jù)庫,而是實(shí)現(xiàn)“Not Only SQL”,提供SQL之外的另一種選擇。NoSQL 通常不保證ACID,同時(shí)采用分布式架構(gòu),具有很強(qiáng)的擴(kuò)展性,這種特點(diǎn)使得NoSQL數(shù)據(jù)庫適應(yīng)于許多需要支持大規(guī)模、高并發(fā)、海量數(shù)據(jù)存儲(chǔ)分析的新時(shí)代業(yè)務(wù)。

    NoSQL數(shù)據(jù)庫有很多種分類,大致包括鍵值數(shù)據(jù)庫、文檔數(shù)據(jù)庫、列族數(shù)據(jù)庫以及圖數(shù)據(jù)庫等,可以應(yīng)對(duì)各式各樣的場景。

    鍵值數(shù)據(jù)庫的代表是Redis。Redis在很多場景下都作為緩存使用,但它也同樣提供了落盤功能。在面對(duì)通過主鍵進(jìn)行查詢的場景,Redis的效率非常高。

    文檔數(shù)據(jù)庫的代表是MongoDB。文檔模型與面向?qū)ο蟮臄?shù)據(jù)表達(dá)方式更加接近,它擁有自由度極高的Schema模型,可以方便地與JSON數(shù)據(jù)進(jìn)行映射。

    列族數(shù)據(jù)庫的代表是Hadoop大數(shù)據(jù)體系中的HBase,它是專門用于處理海量數(shù)據(jù)的分布式數(shù)據(jù)庫。 圖數(shù)據(jù)庫是用于處理圖關(guān)系的數(shù)據(jù)庫,一般用于特殊場景。

    NoSQL數(shù)據(jù)庫種類繁多,應(yīng)用場景天差地別。不過有一個(gè)共性,那就是大多對(duì)分布式數(shù)據(jù)庫所需的分片和數(shù)據(jù)遷移功能支持得非常好,在海量數(shù)據(jù)和高并發(fā)支持方面,性能強(qiáng)于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫。對(duì)于這樣的場景,NoSQL數(shù)據(jù)庫會(huì)是非常合適的選擇。

    不過,NoSQL數(shù)據(jù)庫也存在一些不足。比如,不同的NoSQL數(shù)據(jù)庫都有自己的查詢語言,相比于SQL,制定應(yīng)用程序標(biāo)準(zhǔn)接口會(huì)更加困難,并且大多數(shù)NoSQL數(shù)據(jù)庫不提供ACID事務(wù)操作,因此如果企業(yè)的核心業(yè)務(wù)對(duì)數(shù)據(jù)一致性要求嚴(yán)格,在選擇NoSQL數(shù)據(jù)庫時(shí)需要慎重。正如NoSQL數(shù)據(jù)庫的定義所說,它們是基于SQL的關(guān)系型數(shù)據(jù)庫的有益補(bǔ)充,兩者是相輔相成,而非相互替代關(guān)系。

    NewSQL冉冉升起

    由于SQL和ACID事務(wù)實(shí)在太深入人心,而對(duì)分布式數(shù)據(jù)庫的需求又前所未有的旺盛,因此另一種數(shù)據(jù)庫NewSQL就應(yīng)運(yùn)而生了。

    NewSQL是各種具有分布式可擴(kuò)展功能的數(shù)據(jù)庫的簡稱,NewSQL繼承了NoSQL對(duì)海量數(shù)據(jù)的處理能力,同時(shí)還保持了傳統(tǒng)關(guān)系型數(shù)據(jù)庫對(duì)SQL和ACID事務(wù)的支持。NewSQL的關(guān)注重點(diǎn)在于混合式(Hybird)數(shù)據(jù)庫,更傾向于找尋不再區(qū)分OLTP和OLAP查詢的多模式數(shù)據(jù)庫構(gòu)建方案。

    2016年,Andrew Pavlo與Matthew Aslett發(fā)表了論文《What’s Really New with NewSQL?》其中將NewSQL劃分為三個(gè)大類,分別是:

    新架構(gòu)(NewArchitecture)

    透明化分片中間件(Transparent Sharding Middleware)

    云數(shù)據(jù)庫(Database-as-a-Service)

    下面詳細(xì)講講這三大類:

    1.新架構(gòu)立足分布式

    新架構(gòu)NewSQL是全新的面向分布式架構(gòu)而設(shè)計(jì)的數(shù)據(jù)庫系統(tǒng)。 該系統(tǒng)一般使用share-nothing架構(gòu),具有多節(jié)點(diǎn)并發(fā)控制、高度容錯(cuò)的自動(dòng)化數(shù)據(jù)副本復(fù)制、流量控制及分布式查詢處理等特征。由于它們是天生面向分布式多節(jié)點(diǎn)而設(shè)計(jì)的系統(tǒng),因此處理查詢優(yōu)化和節(jié)點(diǎn)間通信協(xié)議的能力更加出色。

    舉例來說,NewSQL數(shù)據(jù)庫的多數(shù)據(jù)節(jié)點(diǎn)間可以直接通信,無需依賴中心節(jié)點(diǎn)。 不過由于采用了全新的架構(gòu)設(shè)計(jì)方式和存儲(chǔ)引擎,并未經(jīng)過實(shí)踐驗(yàn)證,因此企業(yè)的技術(shù)選型者們格外謹(jǐn)慎。同時(shí),具有運(yùn)維新一代NewSQL經(jīng)驗(yàn)的工程師也鳳毛麟角,相比于關(guān)系型數(shù)據(jù)庫,NewSQL當(dāng)前的使用者數(shù)量非常少。很多企業(yè)都會(huì)嘗試跟進(jìn)新架構(gòu)NewSQL,但尚未遷移至核心系統(tǒng)。

    2.透明化分片中間件兼容性強(qiáng)

    透明化分片中間件允許應(yīng)用將數(shù)據(jù)分片寫入多數(shù)據(jù)節(jié)點(diǎn),但數(shù)據(jù)節(jié)點(diǎn)仍然采用面向單數(shù)據(jù)節(jié)點(diǎn)的關(guān)系型數(shù)據(jù)庫。透明化分片中間件使用中心組件來路由數(shù)據(jù)操作請(qǐng)求、協(xié)調(diào)事務(wù)、管理數(shù)據(jù)分布以及復(fù)制數(shù)據(jù)副本。整個(gè)集群對(duì)外是一個(gè)邏輯實(shí)例,應(yīng)用往往無需改動(dòng)即可平滑使用。

    透明化分片中間件的核心優(yōu)勢是兼容性強(qiáng),它可以低成本地在系統(tǒng)現(xiàn)有的單機(jī)關(guān)系型數(shù)據(jù)庫與分片中間件之間切換,而無須開發(fā)者進(jìn)行任何代碼上的改動(dòng)。

    透明化分片中間件NewSQL能夠充分合理地在分布式場景下利用傳統(tǒng)關(guān)系型數(shù)據(jù)庫的計(jì)算和存儲(chǔ)能力,而非實(shí)現(xiàn)一個(gè)全新的關(guān)系型數(shù)據(jù)庫。

    因此,其既可以利用傳統(tǒng)關(guān)系型數(shù)據(jù)庫的穩(wěn)定性和兼容性,又可以在其基礎(chǔ)之上增加分布式場景的處理方法?!霸谠谢A(chǔ)上增加,而非顛覆”是這類NewSQL產(chǎn)品的核心功能。 由于基于單數(shù)據(jù)節(jié)點(diǎn)的傳統(tǒng)關(guān)系型數(shù)據(jù)庫是面向磁盤設(shè)計(jì)的,對(duì)于基于內(nèi)存的存儲(chǔ)管理以及并發(fā)控制不如重新設(shè)計(jì)的面向分布式的新架構(gòu)NewSQL高效。另外,SQL解析、查詢優(yōu)化等工作在中間件和數(shù)據(jù)庫中將會(huì)重復(fù)進(jìn)行,也會(huì)使整體運(yùn)行效率略遜于新架構(gòu)NewSQL。

    在國內(nèi)的大中型互聯(lián)網(wǎng)企業(yè)中,這類NewSQL十分流行,每個(gè)公司基本都有自己的數(shù)據(jù)庫中間件。但由于和公司內(nèi)部的業(yè)務(wù)系統(tǒng)耦合較重,因此成熟的開源產(chǎn)品較少。目前進(jìn)入Apache基金會(huì)孵化器的Apache ShardingSphere是這類產(chǎn)品的代表。

    3.云數(shù)據(jù)庫無需考慮細(xì)節(jié)

    最后一種類型的NewSQL是由云計(jì)算公司所提供的云數(shù)據(jù)庫產(chǎn)品。

    云數(shù)據(jù)庫的使用方無須自行維護(hù)數(shù)據(jù)庫及其硬件,而可以將全部數(shù)據(jù)托管至云平臺(tái)所提供的服務(wù)。使用方通過數(shù)據(jù)庫的URL連接至云端數(shù)據(jù)庫,并通過API或操作儀表盤去操作和監(jiān)控系統(tǒng)。 云數(shù)據(jù)庫使用成本最低,工程師無須考慮數(shù)據(jù)庫的任何細(xì)節(jié)問題,對(duì)中小企業(yè)來說是理想的解決方案,不過對(duì)于巨大數(shù)據(jù)體量的公司來說,采用前兩種NewSQL的開源或自研方案更加合適。 NewSQL雖然尚未成熟,但確實(shí)是面向未來的正確嘗試。三種NewSQL的關(guān)注點(diǎn)各不相同:

    新架構(gòu)數(shù)據(jù)庫的關(guān)注點(diǎn)是徹底革新;

    透明化分片中間件數(shù)據(jù)庫的關(guān)注點(diǎn)是增量;

    云數(shù)據(jù)庫的關(guān)注點(diǎn)是屏蔽用戶使用細(xì)節(jié)。

    雖然不同類型的數(shù)據(jù)庫各有千秋,但它們的核心功能是類似的。 而無論對(duì)于哪一種NewSQL而言,混合式(Hybird)數(shù)據(jù)庫都將是其未來的發(fā)展方向,當(dāng)不再區(qū)分OLTP和OLAP時(shí),開發(fā)成本將會(huì)極大地降低。

    百度智能云作為業(yè)內(nèi)佼佼者,能夠提供從關(guān)系型數(shù)據(jù)庫、NoSQL數(shù)據(jù)庫,到NewSQL,以及數(shù)據(jù)庫管理服務(wù)等一整套數(shù)據(jù)庫產(chǎn)品及相關(guān)服務(wù),幾乎涵蓋各個(gè)領(lǐng)域,能夠幫助用戶從容應(yīng)對(duì)已經(jīng)到來的數(shù)據(jù)智能時(shí)代。

    總結(jié)全文,尺有所短寸有所長,在數(shù)據(jù)爆發(fā)式增長的今天,并不是誰取代誰的關(guān)系,而是要學(xué)會(huì)綜合運(yùn)用各種技術(shù),對(duì)癥下藥,讓最合適的技術(shù)應(yīng)用在最匹配的場景中,這樣才能在新時(shí)代游刃有余。

    極客網(wǎng)企業(yè)會(huì)員

    免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

    2019-12-05
    傳統(tǒng)關(guān)系型數(shù)據(jù)庫、NoSQL、NewSQL,三者如何在云時(shí)代共處?
    關(guān)系型數(shù)據(jù)庫由于存在時(shí)間長久,因此針對(duì)每一種常見的關(guān)系型數(shù)據(jù)庫,都能比較容易地招聘到相應(yīng)的數(shù)據(jù)庫管理員(DBA),以保證數(shù)據(jù)庫的穩(wěn)定性、完整性、安全性、并通過監(jiān)控和分析關(guān)系型數(shù)據(jù)庫的系統(tǒng)瓶頸提升設(shè)計(jì)的

    長按掃碼 閱讀全文