国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - 數(shù)據(jù)庫(kù)技術(shù) - 主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

2021-08-31 01:00dbaplus社群王宗瑞 數(shù)據(jù)庫(kù)技術(shù)

筆者最早是作為MySQL DBA入行,從事了5年分布式數(shù)據(jù)庫(kù)運(yùn)維、自動(dòng)化開(kāi)發(fā)的工作,在大規(guī)模數(shù)據(jù)庫(kù)集群的管理方面積累了經(jīng)驗(yàn)

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

王宗瑞

阿里云 數(shù)據(jù)庫(kù)交付架構(gòu)師

9年互聯(lián)網(wǎng)行業(yè)數(shù)據(jù)庫(kù)從業(yè)經(jīng)驗(yàn),先后擔(dān)任DBA、售前架構(gòu)師、交付架構(gòu)師崗位,在分布式數(shù)據(jù)庫(kù)技術(shù)、數(shù)據(jù)庫(kù)運(yùn)維自動(dòng)化領(lǐng)域經(jīng)驗(yàn)尤為豐富,目前工作方向?yàn)樾艅?chuàng)領(lǐng)域的國(guó)產(chǎn)數(shù)據(jù)庫(kù)改造、分布式改造。

筆者最早是作為MySQL DBA入行,從事了5年分布式數(shù)據(jù)庫(kù)運(yùn)維、自動(dòng)化開(kāi)發(fā)的工作,在大規(guī)模數(shù)據(jù)庫(kù)集群的管理方面積累了經(jīng)驗(yàn);后來(lái)又先后從事云數(shù)據(jù)庫(kù)售前解決方案和交付方案架構(gòu)師的崗位,在于客戶的研發(fā)和DBA交流合作的過(guò)程中,發(fā)現(xiàn)有不少同學(xué)被市面上玲瑯滿目的數(shù)據(jù)庫(kù)品種,特別是分布式數(shù)據(jù)庫(kù)搞得眼花繚亂,陷入選型困境。這里把自己在分布式數(shù)據(jù)庫(kù)領(lǐng)域?qū)嶋H運(yùn)維、架構(gòu)和實(shí)施經(jīng)驗(yàn)分享給大家,拋磚引玉,希望引起大家的共鳴。

主要從四個(gè)方面給大家做介紹:

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

一、數(shù)據(jù)庫(kù)從集中式到分布式的演進(jìn)

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

1、傳統(tǒng)單機(jī)數(shù)據(jù)庫(kù)

從狹義概念來(lái)講,“數(shù)據(jù)庫(kù)”就是OLTP場(chǎng)景的關(guān)系型單機(jī)數(shù)據(jù)庫(kù),諸如老牌的Oracle、DB2等商業(yè)數(shù)據(jù)庫(kù)以及開(kāi)源產(chǎn)品MySQL、PostgreSQL,主要解決兩個(gè)業(yè)務(wù)問(wèn)題:在線數(shù)據(jù)庫(kù)的實(shí)時(shí)高效存取和事務(wù)保證。

傳統(tǒng)單機(jī)數(shù)據(jù)庫(kù)在基礎(chǔ)能力之外,為滿足特定業(yè)務(wù)場(chǎng)景,還支持諸多的數(shù)據(jù)庫(kù)經(jīng)典特性,如視圖、觸發(fā)器、外鍵約束、存儲(chǔ)過(guò)程等等。坦率地說(shuō),傳統(tǒng)單機(jī)數(shù)據(jù)庫(kù)的容量和性能,足以滿足絕大多數(shù)中小規(guī)模客戶的需求;依托特定的軟硬件條件,商業(yè)數(shù)據(jù)庫(kù)甚至可以滿足部分大規(guī)模客戶的數(shù)據(jù)庫(kù)使用需要。

但隨著互聯(lián)網(wǎng)時(shí)代的到來(lái),業(yè)務(wù)數(shù)據(jù)呈暴發(fā)式增長(zhǎng),單機(jī)數(shù)據(jù)庫(kù)在存儲(chǔ)容量,和計(jì)算、吞吐上遇到了瓶頸。數(shù)據(jù)量的膨脹,拉高的不僅僅是存儲(chǔ)成本,也提升了數(shù)據(jù)庫(kù)運(yùn)維難度和數(shù)據(jù)安全風(fēng)險(xiǎn);高并發(fā)的業(yè)務(wù)場(chǎng)景,特別是高并發(fā)更新的場(chǎng)景,都需要充足的數(shù)據(jù)庫(kù)計(jì)算資源和磁盤(pán)IO資源,單機(jī)數(shù)據(jù)庫(kù)捉襟見(jiàn)肘。雖然可以通過(guò)業(yè)務(wù)對(duì)數(shù)據(jù)合理化拆分到多個(gè)數(shù)據(jù)庫(kù)實(shí)例,來(lái)延緩單機(jī)資源見(jiàn)頂?shù)臅r(shí)間,但需要不斷付出高額的架構(gòu)改造成本。

2、分布式數(shù)據(jù)庫(kù)

在這種情況下,分布式數(shù)據(jù)庫(kù)作為一種解決方案應(yīng)運(yùn)而生,基本思路都是將多臺(tái)物理機(jī)資源組織起來(lái),作為一個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)用提供服務(wù),理想情況下,高并發(fā)場(chǎng)景下的計(jì)算、存儲(chǔ)io、網(wǎng)絡(luò)io壓力在物理機(jī)之間均衡。同時(shí)要求其具備資源橫向和擴(kuò)展能力(scale out),充分滿足業(yè)務(wù)未來(lái)增長(zhǎng)需求。

一般認(rèn)為當(dāng)前的分布式數(shù)據(jù)庫(kù)可細(xì)分為分布式數(shù)據(jù)庫(kù)中間件和原生分布式數(shù)據(jù)庫(kù)兩種類型,各大數(shù)據(jù)庫(kù)廠商概莫能外。

分布式數(shù)據(jù)庫(kù)中間件,架構(gòu)為自下而上,即將單機(jī)數(shù)據(jù)庫(kù)實(shí)例作為底層存儲(chǔ)節(jié)點(diǎn)組合起來(lái),求作為proxy層,將海量數(shù)據(jù)的分庫(kù)分表邏輯對(duì)應(yīng)用屏蔽起來(lái)(理想情況下,實(shí)踐中,應(yīng)用完全不清楚分布式邏輯很難做到sql優(yōu)化設(shè)計(jì))底層存儲(chǔ)資源的擴(kuò)容也讓?xiě)?yīng)用無(wú)感知,典型的ShareNothing架構(gòu)。

原生分布式數(shù)據(jù)庫(kù),也就是前幾年盛行一時(shí)的NewSQL數(shù)據(jù)庫(kù),架構(gòu)是上下一體的,計(jì)算層和存儲(chǔ)層耦合較為緊密,計(jì)算層OLTP數(shù)據(jù)庫(kù)為SMP架構(gòu),分布式可實(shí)現(xiàn)負(fù)載均衡和高可用,OLAP數(shù)據(jù)庫(kù)多位MPP架構(gòu),利用并行處理對(duì)復(fù)雜查詢加速;存儲(chǔ)層常采用ShareNothing架構(gòu)對(duì)IO資源進(jìn)行隔離,多副本之間采用分布式一致性算法在數(shù)據(jù)可用性和一致性之間做出平衡。因?yàn)橛?jì)算層和存儲(chǔ)層一體化設(shè)計(jì),往往更容易兼容更多傳統(tǒng)單機(jī)數(shù)據(jù)庫(kù)的產(chǎn)品特性。

3、云原生數(shù)據(jù)庫(kù)

這是近幾年來(lái)比較熱門(mén)的一個(gè)數(shù)據(jù)庫(kù)分類,常常與分布式數(shù)據(jù)庫(kù)發(fā)生混淆,但二者之間天然存在差別。

云原生本質(zhì)上是充分利用云計(jì)算基礎(chǔ)設(shè)施的高性能、高可靠性和高彈性能力研發(fā)云上產(chǎn)品的一種方式。在專門(mén)以云計(jì)算資源為基礎(chǔ)研發(fā)的數(shù)據(jù)庫(kù),才是云原生數(shù)據(jù)庫(kù),如AWS的aurora、阿里云的PolarDB,它們能帶來(lái)近乎傳統(tǒng)單機(jī)數(shù)據(jù)庫(kù)的特性支持和使用體驗(yàn),同時(shí)具備資源(計(jì)算、存儲(chǔ))快速?gòu)椥陨炜s的能力,資源雖然是分布式的,但數(shù)據(jù)庫(kù)架構(gòu)的實(shí)質(zhì)依然是scale up。

與云基礎(chǔ)設(shè)施的強(qiáng)耦合,是云原生數(shù)據(jù)庫(kù)區(qū)別于分布式數(shù)據(jù)庫(kù)的最大特點(diǎn)。

4、不同場(chǎng)景下的分布式數(shù)據(jù)庫(kù)選型

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

一些業(yè)務(wù)場(chǎng)景下,往往不需要采用分布式數(shù)據(jù)庫(kù)方案,避繁就簡(jiǎn),有更輕量級(jí)的解決方法:

  • 一些新聞、資源應(yīng)用常有寫(xiě)少讀多的特點(diǎn),建議通過(guò)部署查詢緩存和單機(jī)數(shù)據(jù)庫(kù)讀寫(xiě)分離的方式來(lái)應(yīng)對(duì),不建議升級(jí)分布式數(shù)據(jù)庫(kù)。
  • 一些電商應(yīng)用會(huì)有高并發(fā)更新的特點(diǎn),優(yōu)先建議采用業(yè)務(wù)模塊垂直拆分的方法,低成本解決業(yè)務(wù)負(fù)載高的問(wèn)題。后續(xù)根據(jù)業(yè)務(wù)增長(zhǎng)情況,針對(duì)高并發(fā)的模塊單獨(dú)升級(jí)分布式數(shù)據(jù)庫(kù)。
  • 一些全國(guó)級(jí)別的在線服務(wù),就是會(huì)存儲(chǔ)海量實(shí)時(shí)數(shù)據(jù),同時(shí)應(yīng)對(duì)高并發(fā)吞吐,這是采用分布式數(shù)據(jù)庫(kù)的典型場(chǎng)景。
  • 有些應(yīng)用因?yàn)闅v史原因,以MySQL數(shù)據(jù)庫(kù)為代表,單表內(nèi)積累了上億的數(shù)據(jù)量,單表數(shù)據(jù)文件達(dá)到GB級(jí)別,性能出現(xiàn)顯著退化。此場(chǎng)景優(yōu)先建議與業(yè)務(wù)協(xié)商,減小在線數(shù)據(jù)保留時(shí)間,上線數(shù)據(jù)歸檔方案;同時(shí)要考察是否索引不夠完善,是否存在優(yōu)化空間;分布式數(shù)據(jù)庫(kù)是兜底方案。
  • 對(duì)于OLAP場(chǎng)景,在不升級(jí)數(shù)據(jù)庫(kù)架構(gòu)的前提下,優(yōu)先引入流計(jì)算、預(yù)計(jì)算等大數(shù)據(jù)處理方案和產(chǎn)品,成本較低;如還不能滿足業(yè)務(wù)需求,則引入專門(mén)的OLAP數(shù)據(jù)庫(kù)。
  • 如今國(guó)產(chǎn)數(shù)據(jù)庫(kù)改造是國(guó)內(nèi)各行業(yè)IT轉(zhuǎn)型的重要方向,對(duì)于之前選用傳統(tǒng)商業(yè)數(shù)據(jù)庫(kù)的客戶,最需要的是高兼容數(shù)據(jù)庫(kù)來(lái)控制改造遷移成本;而是否選用分布式,要考察客戶業(yè)務(wù)場(chǎng)景是否符合上面提到的指征。
  • 數(shù)據(jù)庫(kù)容災(zāi)、異地多活的場(chǎng)景,原生分布式數(shù)據(jù)庫(kù)具有天然優(yōu)勢(shì),可根據(jù)基礎(chǔ)資源、業(yè)務(wù)一致性要求和可用性要求,采用不同的部署架構(gòu)滿足,只需將精力集中在應(yīng)用容災(zāi)和多活的研發(fā)上。

二、分布式數(shù)據(jù)庫(kù)分類

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

從應(yīng)用場(chǎng)景角度看,市面上的分布式數(shù)據(jù)庫(kù)可分為OLTP、OLAP和、非機(jī)構(gòu)@amp;專有領(lǐng)域NOSQL三個(gè)大類,這也是大多數(shù)云廠商數(shù)據(jù)庫(kù)產(chǎn)品頁(yè)面的常用分類。

1、OLTP數(shù)據(jù)庫(kù)

Mycat和PlarDB-X(之前的DRDS)系出同源,最早都是淘寶的數(shù)據(jù)庫(kù)中間件TDDL,一個(gè)開(kāi)源,一個(gè)是商業(yè)產(chǎn)品。

  • TiDB是非常成功的開(kāi)源分布式數(shù)據(jù)庫(kù),生態(tài)非常活躍,有很多合作伙伴。
  • OceanBase是最早螞蟻集團(tuán)研發(fā)的分布式數(shù)據(jù)庫(kù),主要支撐了支付寶全業(yè)務(wù),在金融行業(yè)有較多客戶成功案例,進(jìn)來(lái)已擁抱開(kāi)源生態(tài)。

2、OLAP數(shù)據(jù)庫(kù)

OLAP數(shù)據(jù)庫(kù)往往要處理海量數(shù)據(jù)的復(fù)雜分析,采用MPP架構(gòu),天然需要分布式架構(gòu),數(shù)據(jù)分片,進(jìn)行并行計(jì)算加速。

3、非機(jī)構(gòu)化@amp;專有領(lǐng)域NoSQL

緩存領(lǐng)域,Codis類似TP數(shù)據(jù)庫(kù)中間件的方案。

寬列數(shù)據(jù)庫(kù)(bigtable)往往用于存儲(chǔ)海量非機(jī)構(gòu)化數(shù)據(jù),需要高寫(xiě)入吞吐,天然需要分布式架構(gòu)應(yīng)對(duì)。

在時(shí)序數(shù)據(jù)庫(kù)和圖數(shù)據(jù)庫(kù)領(lǐng)域,并非全部產(chǎn)品都是分布式的,但這兩種場(chǎng)景涉及的數(shù)據(jù)量如果增長(zhǎng)較快,分布式架構(gòu)是其加分項(xiàng)。

三、關(guān)系型分布式數(shù)據(jù)庫(kù)最佳實(shí)踐

1、分布式數(shù)據(jù)庫(kù)中間件

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

1)場(chǎng)景一

分布式數(shù)據(jù)庫(kù)中間件使用的前提是,數(shù)據(jù)已經(jīng)進(jìn)行過(guò)充分合理的垂直拆分

最佳實(shí)踐是,業(yè)務(wù)、數(shù)據(jù)具有天然水平拆分特點(diǎn),如個(gè)人網(wǎng)盤(pán),天然適合用戶id拆分,電商買家?guī)欤烊贿m合買家id拆分,電子社保卡,天然適合卡號(hào)拆分

有高并發(fā)更新的大數(shù)據(jù)表,適合水平拆分,與他關(guān)聯(lián)的小表做廣播表,不許關(guān)聯(lián)的單表不要拆分

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

2)場(chǎng)景二

平滑擴(kuò)容能力,是分布式中間件的核心技術(shù)競(jìng)爭(zhēng)力,業(yè)務(wù)無(wú)感是最高境界,但很難真正做到

擴(kuò)容時(shí)可操作的數(shù)據(jù)粒度是把雙刃劍,業(yè)務(wù)靈活性和運(yùn)維便利度,不可兼得

拆分鍵級(jí)別的數(shù)據(jù)遷移與擴(kuò)容,是解決數(shù)據(jù)庫(kù)熱點(diǎn)問(wèn)題的良藥

擴(kuò)容的最高境界,是底層數(shù)據(jù)節(jié)點(diǎn)和中間件計(jì)算層的自適應(yīng)彈性伸縮,目前看來(lái),與云原生數(shù)據(jù)庫(kù)相結(jié)合是解決之道

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

3)場(chǎng)景三

此方案主要是對(duì)分布式數(shù)據(jù)庫(kù)中間件路由靈活性的考驗(yàn)

訪問(wèn)實(shí)效性和頻率允許條件下,歸檔庫(kù)或歸檔存儲(chǔ)甚至可以是冷設(shè)備,需要時(shí)可自動(dòng)加電加載

可以為歸檔庫(kù)的OLAP訪問(wèn),配置專屬M(fèi)PP架構(gòu)的中間件proxy層,既達(dá)到并行計(jì)算加速效果,又實(shí)現(xiàn)了資源與OLTP業(yè)務(wù)隔離,避免爭(zhēng)搶

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

2、原生分布式數(shù)據(jù)庫(kù)

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

1)場(chǎng)景一

  • 一大優(yōu)勢(shì)是資源自動(dòng)化管理,將新機(jī)器加入資源池,在開(kāi)啟數(shù)據(jù)rebalance條件下,會(huì)自動(dòng)進(jìn)行遷移和均衡,這也是資源彈性伸縮能力的基礎(chǔ)

  • 以此架構(gòu)為基礎(chǔ),上層理論上可以兼容各種數(shù)據(jù)庫(kù)的接口,提供平滑的數(shù)據(jù)庫(kù)遷移體驗(yàn)

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

2)場(chǎng)景二

  • 從單機(jī)房的機(jī)架位級(jí)別容災(zāi),到兩點(diǎn)三中心的機(jī)房級(jí)別容災(zāi),如采用傳統(tǒng)數(shù)據(jù)庫(kù)的主從復(fù)制架構(gòu)來(lái)做同步,都會(huì)遭遇一致性和可用性的兩難問(wèn)題,需要數(shù)據(jù)稽核、數(shù)據(jù)修復(fù)等多重保險(xiǎn)機(jī)制,帶來(lái)復(fù)雜的應(yīng)用和數(shù)據(jù)庫(kù)開(kāi)發(fā)難度

  • 原生分布式數(shù)據(jù)庫(kù)通過(guò)集群化存儲(chǔ)的分布式一致性算法,確保了強(qiáng)一致性和寫(xiě)入效率的同時(shí),只要是少數(shù)派節(jié)點(diǎn)故障,也可確保數(shù)據(jù)庫(kù)服務(wù)的可用性

  • 多活架構(gòu)不僅對(duì)數(shù)據(jù)庫(kù)有要求,對(duì)應(yīng)用多個(gè)分層也有流量糾錯(cuò)的嚴(yán)格要求,還需要數(shù)據(jù)庫(kù)自身具備防寫(xiě)錯(cuò)能力,需要整體設(shè)計(jì)方案

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

3)場(chǎng)景三

  • 國(guó)產(chǎn)化數(shù)據(jù)庫(kù)改造,不是必須選擇分布式方案,但分布式往往是國(guó)產(chǎn)化數(shù)據(jù)庫(kù)相對(duì)傳統(tǒng)單機(jī)數(shù)據(jù)庫(kù)彎道超車的優(yōu)勢(shì)所在,如果選用國(guó)產(chǎn)單機(jī)數(shù)據(jù)庫(kù),會(huì)陷入田忌賽馬的被動(dòng)局面

  • 采集回放技術(shù)是這其中的關(guān)鍵一環(huán),是遷移后數(shù)據(jù)庫(kù)功能特性和性能不退化的有力保證

  • 使用分布式數(shù)據(jù)庫(kù)改造后,需要拆分的表,才進(jìn)行分區(qū)表設(shè)計(jì),不要“因?yàn)橛昧朔植际剑投家植际奖?rdquo;

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

四、關(guān)系型分布式數(shù)據(jù)庫(kù)總結(jié)與展望

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

一句話總結(jié):技術(shù)沒(méi)有銀彈,不存在最好的數(shù)據(jù)庫(kù)產(chǎn)品、一勞永逸的分布式數(shù)據(jù)庫(kù)架構(gòu)方案,只有針對(duì)具體業(yè)務(wù)場(chǎng)景的最適合的方案。

分布式數(shù)據(jù)庫(kù)中間件,特別適合數(shù)據(jù)具有天然分片特征的場(chǎng)景,但在SQL研發(fā)上有要求,避免非拆分鍵查詢和分布式事務(wù),不然吞吐會(huì)非常差。

原生分布式數(shù)據(jù)庫(kù),適合對(duì)資源彈性伸縮,可用性和強(qiáng)一致性要求高的場(chǎng)景,與傳統(tǒng)數(shù)據(jù)庫(kù)的兼容度好,但架構(gòu)往往不典型,運(yùn)維難度略高,使用上分布式執(zhí)行計(jì)劃的優(yōu)化也需要技巧。

主流關(guān)系型分布式數(shù)據(jù)庫(kù)選型與設(shè)計(jì)實(shí)戰(zhàn)

值得一說(shuō)到的是,分布式中間件產(chǎn)品現(xiàn)在通過(guò)自適應(yīng)分區(qū)表,數(shù)據(jù)一致性hash,統(tǒng)一binlog服務(wù)等新特性的研發(fā),越來(lái)越像原生分布式數(shù)據(jù)庫(kù)靠攏;原生分布式數(shù)據(jù)庫(kù)同樣,不能完全擺脫實(shí)現(xiàn)數(shù)據(jù)透明水平拆分的中間件方案,相信二者的邊界未來(lái)會(huì)逐漸模糊。

運(yùn)維原生分布式數(shù)據(jù)庫(kù)的架構(gòu)與傳統(tǒng)數(shù)據(jù)庫(kù)差異較大,需要相關(guān)人才的積累,使用經(jīng)驗(yàn)的沉淀和分享,這也是其擁抱開(kāi)源社區(qū),努力發(fā)展技術(shù)生態(tài)的重要原因。

@gt;@gt;@gt;@gt;

Q@amp;A

Q1:分布式最終數(shù)據(jù)一致性的常用做法和最佳實(shí)踐有哪些?

A1:這個(gè)問(wèn)題我舉一個(gè)分布式中間件的例子吧。我熟悉的一個(gè)分布式中間件,它最早實(shí)現(xiàn)決分布式事務(wù)采用的是柔性事務(wù)的方式。這個(gè)方式本質(zhì)上是由這個(gè)中間件自身來(lái)在每次執(zhí)行事務(wù)時(shí)候,記錄每條SQL的undo日志、redo日志。一旦發(fā)現(xiàn)問(wèn)題之后,它自己根據(jù)情況,決策重試還是回滾,在這個(gè)過(guò)程中就存在數(shù)據(jù)中間狀態(tài).在這過(guò)程中查詢,就會(huì)查詢到數(shù)據(jù)是不一致的。但通過(guò)它的undo日志和redo日志的機(jī)制,能夠保證每筆事務(wù)的數(shù)據(jù)最終狀態(tài)是一致的。同時(shí)他們也發(fā)現(xiàn),這個(gè)柔性事務(wù)雖然在查詢延遲、SQL吞吐上表現(xiàn)非常好,也能保證最終一致性,但對(duì)很多客戶的較苛刻的數(shù)據(jù)一致性要求,比如金融行業(yè)、電商行業(yè)交易的一些場(chǎng)景是不能很好滿足的。所以這個(gè)方案他們是作為分布式事務(wù)一種備選項(xiàng),同時(shí)他們也實(shí)現(xiàn)了XA事務(wù)作為分布式事務(wù)的補(bǔ)充方案,并進(jìn)一步向全局邏輯時(shí)鐘事務(wù)時(shí)的方案靠攏,最后是這么做的。所以總結(jié)來(lái)說(shuō),最終數(shù)據(jù)一致性僅能滿足一部分也業(yè)務(wù)場(chǎng)景的的需求!通用的,理想的分布式事務(wù)方案應(yīng)該是強(qiáng)一致性的。

Q2:中間件的分布式數(shù)據(jù)庫(kù),針對(duì)業(yè)務(wù)的一些復(fù)雜多條件查詢,有一些經(jīng)驗(yàn)可以分享一下嗎?

A2:這個(gè)問(wèn)題在文章中其實(shí)有所涉及,中間件的分布式數(shù)據(jù)庫(kù)目前的一些優(yōu)秀產(chǎn)品已經(jīng)具備了全局二級(jí)索引的能力。也就是說(shuō)它可以支持有限的多維度查詢。例如,我的主數(shù)據(jù)是基于訂單id進(jìn)行拆分的,但現(xiàn)在我想安裝賣家id或買家id來(lái)進(jìn)行查詢?cè)趺崔k?我可以通過(guò)這種方式來(lái)進(jìn)行:去創(chuàng)建賣家id或買家id的二級(jí)索引,由二級(jí)索引來(lái)保存買家id或賣家id和訂單id之間的映射關(guān)系。同時(shí)為了進(jìn)一步改善性能,我還可以在我的全局二級(jí)索引里覆蓋更多字段,根據(jù)二級(jí)索引查詢時(shí)的一些要求來(lái)避免回表。通過(guò)這樣的方式來(lái)解決多維度查詢的問(wèn)題。

Q3:在分布式數(shù)據(jù)庫(kù)中網(wǎng)絡(luò)分區(qū)問(wèn)題遇到過(guò)嗎?

A1:這個(gè)問(wèn)題應(yīng)該是關(guān)于原生分布式數(shù)據(jù)庫(kù)的。原生分布式數(shù)據(jù)庫(kù)如果你采用之前所謂的半同步、強(qiáng)同步等一些方式,或者在基于zookeeper做一致性的分區(qū)的容錯(cuò)的情況下,其實(shí)會(huì)遇到腦裂等一些問(wèn)題。但基本上現(xiàn)在的原生分布式數(shù)據(jù)庫(kù)采用的都是基于Poxos類的分布式一致性的協(xié)議來(lái)做的方案,這種方案最大的特點(diǎn)在于:只要不是多數(shù)派的節(jié)點(diǎn)出現(xiàn)故障,少數(shù)派的節(jié)點(diǎn)出現(xiàn)故障之后,多數(shù)派的節(jié)點(diǎn)就會(huì)自然而然地選主出來(lái),快速地對(duì)外恢復(fù)服務(wù),并且保證數(shù)據(jù)的一致性。而少數(shù)派一旦發(fā)現(xiàn)網(wǎng)絡(luò)分區(qū),知道自己是少數(shù)派沒(méi)辦法進(jìn)行選舉之后,就會(huì)自然地對(duì)外停止服務(wù)。通過(guò)這樣的方式來(lái)避免網(wǎng)絡(luò)分區(qū)和腦裂的問(wèn)題。

原文鏈接:https://mp.weixin.qq.com/s?__biz=MzkwOTIxNDQ3OA==&mid=2247556201&idx=1&sn=f8b5867008065df59ef12335254be049&utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 精品一区二区久久久久久久网站 | 国产毛片在线 | 亚洲a在线观看 | 黄色二区 | 午夜精品美女久久久久av福利 | 久久久夜夜夜 | 精品中文字幕在线 | 国产成人一区二区三区 | 久久久久久久国产精品 | 黄色大片在线播放 | 精品在线 | 国产成人久久一区二区三区 | 欧美精品一区二区三区蜜桃视频 | 欧美日韩一区二区三区不卡视频 | 久热久| 在线一区| 性色av一区二区三区红粉影视 | 国产精品久久久久久久 | 亚洲大片 | 日韩一区在线视频 | 国产特级毛片aaaaaa毛片 | 亚洲精品免费看 | 欧美黄色片免费观看 | 欧美色欧美亚洲另类七区 | 91免费国产在线 | 国产成人精品久久二区二区91 | 开心久久婷婷综合中文字幕 | 国产欧美日韩一区 | 国产伊人久 | 国产精品久久久久久一区 | 亚洲国产精品久久久 | 日本 欧美 国产 | 视频一区在线播放 | 毛片区| 亚洲免费视频网站 | 日韩一区二区三区视频 | 可以免费看黄的网站 | 久久国产精品视频 | 91精品综合久久久久久五月天 | 亚洲视频在线观看视频 | 国产成人一区二区啪在线观看 |