AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

數(shù)倍數(shù)據(jù)平滑擴容遷移方案

來源: 責(zé)編: 時間:2023-11-14 09:08:50 293觀看
導(dǎo)讀首先我們先來看下數(shù)據(jù)庫的高可用一般都是怎么實現(xiàn)的。我們還是借用圖來說明。真想手繪。圖片如上圖所示,兩個相互同步的主庫使用相同的虛擬IP,當(dāng)主庫掛掉的時候,虛擬IP自動漂移到另外一臺主庫,整個過程用戶是無感知的。使

首先我們先來看下數(shù)據(jù)庫的高可用一般都是怎么實現(xiàn)的。我們還是借用圖來說明。真想手繪。ZEA28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ZEA28資訊網(wǎng)——每日最新資訊28at.com

如上圖所示,兩個相互同步的主庫使用相同的虛擬IP,當(dāng)主庫掛掉的時候,虛擬IP自動漂移到另外一臺主庫,整個過程用戶是無感知的。使用雙主同步+keepalived+虛ip的方式進行。ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

如果遇到數(shù)據(jù)暴增,我們怎么辦?ZEA28資訊網(wǎng)——每日最新資訊28at.com

我們可以通過水平切分。ZEA28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ZEA28資訊網(wǎng)——每日最新資訊28at.com

上圖所示,用戶庫user分布在兩臺服務(wù)器上,ip0和ip1。通過用戶取模得方式,模2余0到ip0的機器上,反之到ip1的機器上,同時ip0和ip1并行做了雙主同步,這樣做到了水平切分和高可用。ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

新的問題來了,分成n庫以后,隨著數(shù)據(jù)量的不斷增加,要增加到2*n庫的時候,數(shù)據(jù)如何擴容,數(shù)據(jù)如何平滑遷移,如何對外提供服務(wù),保證數(shù)據(jù)的可用性?(一連串的靈魂拷問)ZEA28資訊網(wǎng)——每日最新資訊28at.com

1.停服升級(暫時跳過)2.假設(shè)上面每個庫ip0和ip1每個庫都有1億數(shù)據(jù),如何平滑擴容,增加實例數(shù),降低單庫數(shù)據(jù)量呢?ZEA28資訊網(wǎng)——每日最新資訊28at.com

第一步:ZEA28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ZEA28資訊網(wǎng)——每日最新資訊28at.com

這樣能保證原來的數(shù)據(jù)不變,還可以路由到原來的機器上。ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

第二步:ZEA28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

這里需要服務(wù)層重新reload,高級一點可以通過配置中心向服務(wù)層發(fā)信息,重新讀取配置文件,重新初始化連接數(shù)據(jù)庫。完成之后,數(shù)據(jù)庫實例從2變成4個,過程在秒級完成。ZEA28資訊網(wǎng)——每日最新資訊28at.com

整個過程可以逐步重啟,對服務(wù)的正確性和可用性完全沒有影響:ZEA28資訊網(wǎng)——每日最新資訊28at.com

(a)即使%2尋庫和%4尋庫同時存在,也不影響數(shù)據(jù)的正確性,因為此時仍然是雙主數(shù)據(jù)同步的;ZEA28資訊網(wǎng)——每日最新資訊28at.com

(b)即使%4=0與%4=2的尋庫落到同一個數(shù)據(jù)庫實例上,也不影響數(shù)據(jù)的正確性,因為此時仍然是雙主數(shù)據(jù)同步的;ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

上面對數(shù)據(jù)庫實例進行了擴展,但是數(shù)據(jù)的數(shù)量并沒有降低,我們還需要再做一步。ZEA28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

有這些一些收尾工作:ZEA28資訊網(wǎng)——每日最新資訊28at.com

(a)把雙虛擬ip修改回單虛擬ip;ZEA28資訊網(wǎng)——每日最新資訊28at.com

(b)解除舊的雙主同步,讓成對庫的數(shù)據(jù)不再同步增加;ZEA28資訊網(wǎng)——每日最新資訊28at.com

(c)增加新的雙主同步,保證高可用;ZEA28資訊網(wǎng)——每日最新資訊28at.com

(d)刪除掉冗余數(shù)據(jù),例如:ip0里%4=2的數(shù)據(jù)全部刪除,只為%4=0的數(shù)據(jù)提供服務(wù);ZEA28資訊網(wǎng)——每日最新資訊28at.com

這一步,數(shù)據(jù)庫單實例數(shù)據(jù)量減半了。ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

InnoDB引擎為什么高效?

技術(shù)上怎么控制并發(fā)操作?

-鎖ZEA28資訊網(wǎng)——每日最新資訊28at.com

-數(shù)據(jù)多版本ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

-簡單暴力,任務(wù)執(zhí)行過程的本質(zhì)是串行的ZEA28資訊網(wǎng)——每日最新資訊28at.com

-出現(xiàn)了共享鎖和排它鎖ZEA28資訊網(wǎng)——每日最新資訊28at.com

 --共享鎖(S鎖),讀取數(shù)據(jù)加S鎖ZEA28資訊網(wǎng)——每日最新資訊28at.com

 --排他鎖(X鎖) 修改時加X鎖ZEA28資訊網(wǎng)——每日最新資訊28at.com

共享鎖和排他鎖的區(qū)別?

-共享鎖,讀可以并行ZEA28資訊網(wǎng)——每日最新資訊28at.com

-排他鎖跟任何鎖互斥,讀和寫都不可以并行ZEA28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)下:一但寫數(shù)據(jù)沒有完成,數(shù)據(jù)是不能被其他任務(wù)讀取的,這對并發(fā)有著比較大的影響。ZEA28資訊網(wǎng)——每日最新資訊28at.com

有沒有可能,進一步提高并發(fā)呢?ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

數(shù)據(jù)多版本ZEA28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ZEA28資訊網(wǎng)——每日最新資訊28at.com

-核心原理ZEA28資訊網(wǎng)——每日最新資訊28at.com

 (1)寫任務(wù)發(fā)生的時候,將數(shù)據(jù)克隆一份,以版本號區(qū)分ZEA28資訊網(wǎng)——每日最新資訊28at.com

 (2)寫任務(wù)操作克隆的數(shù)據(jù),直至提交ZEA28資訊網(wǎng)——每日最新資訊28at.com

 (3)讀取數(shù)據(jù)還是舊版本上,不阻塞ZEA28資訊網(wǎng)——每日最新資訊28at.com

所以并發(fā)提高演進的思路ZEA28資訊網(wǎng)——每日最新資訊28at.com

1.普通鎖,串行執(zhí)行ZEA28資訊網(wǎng)——每日最新資訊28at.com

2.讀寫鎖,讀讀可以并發(fā)ZEA28資訊網(wǎng)——每日最新資訊28at.com

3.數(shù)據(jù)多版本,讀寫都可以并發(fā)ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

對應(yīng)到innodb,是怎么處理的呢?

先了解三個概念:redo、undo、回滾段ZEA28資訊網(wǎng)——每日最新資訊28at.com

redo:數(shù)據(jù)庫事務(wù)提交之后,必須將更新后的數(shù)據(jù)刷新到硬盤上,保證ACID原則。這里是隨機讀寫的,如果來個事務(wù)就寫一次,相當(dāng)影響吞吐量。ZEA28資訊網(wǎng)——每日最新資訊28at.com

優(yōu)化:將修改的行寫到redo日志中,再定期刷新到硬盤中。這里的寫日志是順序?qū)懀梢蕴岣咝阅堋H绻幸豢虜?shù)據(jù)奔潰,可以讀取redo日志恢復(fù)數(shù)據(jù)。ZEA28資訊網(wǎng)——每日最新資訊28at.com

undo:事務(wù)未提交時,可以將修改前的數(shù)據(jù)存在undo日志里,當(dāng)崩潰或者事務(wù)回滾時,利用undo日志撤銷修改。ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

舉例說明:ZEA28資訊網(wǎng)——每日最新資訊28at.com

-insert操作,undo日志存儲的是PK(rowid),回滾時直接刪除ZEA28資訊網(wǎng)——每日最新資訊28at.com

-update/delete操作,undo日志記錄舊數(shù)據(jù)的row,回滾時直接恢復(fù)。ZEA28資訊網(wǎng)——每日最新資訊28at.com

回滾段:存儲undo日志的地方,就是回滾段。ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

Innodb是基于版本并發(fā)控制的存儲引擎。ZEA28資訊網(wǎng)——每日最新資訊28at.com

MVCC就是通過“讀取舊版本數(shù)據(jù)”來降低并發(fā)事務(wù)的鎖沖突,提高任務(wù)的并發(fā)度。ZEA28資訊網(wǎng)——每日最新資訊28at.com

innodb為何能做到這么高的并發(fā)?ZEA28資訊網(wǎng)——每日最新資訊28at.com

回滾段的數(shù)據(jù),也就是歷史數(shù)據(jù)的快照,這些數(shù)不會被改變,select操作可以為所欲為的并發(fā)讀取ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)

(1)常見并發(fā)控制保證數(shù)據(jù)一致性的方法有鎖,數(shù)據(jù)多版本;ZEA28資訊網(wǎng)——每日最新資訊28at.com

(2)普通鎖串行,讀寫鎖讀讀并行,數(shù)據(jù)多版本讀寫并行;ZEA28資訊網(wǎng)——每日最新資訊28at.com

(3)redo日志保證已提交事務(wù)的ACID特性,設(shè)計思路是,通過順序?qū)懱娲S機寫,提高并發(fā);ZEA28資訊網(wǎng)——每日最新資訊28at.com

(4)undo日志用來回滾未提交的事務(wù),它存儲在回滾段里;ZEA28資訊網(wǎng)——每日最新資訊28at.com

(5)InnoDB是基于MVCC的存儲引擎,它利用了存儲在回滾段里的undo日志,即數(shù)據(jù)的舊版本,提高并發(fā);ZEA28資訊網(wǎng)——每日最新資訊28at.com

(6)InnoDB之所以并發(fā)高,快照讀不加鎖;ZEA28資訊網(wǎng)——每日最新資訊28at.com

(7)InnoDB所有普通select都是快照讀;ZEA28資訊網(wǎng)——每日最新資訊28at.com

ZEA28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-24294-0.html數(shù)倍數(shù)據(jù)平滑擴容遷移方案

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 不要在按鈕、鏈接或任何其他文本容器上使用固定的 CSS 高度或?qū)挾?/a>

下一篇: 提升應(yīng)用程序性能的利器:學(xué)習(xí)如何使用Celery進行分布式任務(wù)管理

標(biāo)簽:
  • 熱門焦點
  • K60至尊版剛預(yù)熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛?cè)缁鹑巛钡男麄髁薑60 Ultra的各種技術(shù)和硬件配置,作為競品的一加也坐不住了。一加中國區(qū)總裁李杰發(fā)布了兩條微博,表示在自家的一加Ace2上早就已經(jīng)采用了和PixelWo
  • 石頭自清潔掃拖機器人G10S評測:多年黑科技集大成之作 懶人終極福音

    科技圈經(jīng)常能看到一個詞叫“縫合怪”,用來形容那些把好多功能或者外觀結(jié)合在一起的產(chǎn)品,通常這樣的詞是貶義詞,但如果真的是產(chǎn)品縫合的好、縫合的實用的話,那它就成了中性詞,今
  • 6月安卓手機性能榜:vivo/iQOO霸占旗艦排行榜前三

    2023年上半年已經(jīng)正式過去了,我們也迎來了安兔兔V10版本,在新的驍龍8Gen3和天璣9300發(fā)布之前,性能榜的榜單大體會以驍龍8Gen2和天璣9200+為主,至于那顆3.36GHz的驍龍8Gen2領(lǐng)先
  • 摸魚心法第一章——和配置文件說拜拜

    為了能摸魚我們團隊做了容器化,但是帶來的問題是服務(wù)配置文件很麻煩,然后大家在群里進行了“親切友好”的溝通圖片圖片圖片圖片對比就對比,簡單對比下獨立配置中心和k8s作為配
  • 一篇聊聊Go錯誤封裝機制

    %w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數(shù)中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使
  • 這款新興工具平臺,讓你的電腦效率翻倍

    隨著信息技術(shù)的發(fā)展,我們獲取信息的渠道越來越多,但是處理信息的效率卻成為一個瓶頸。于是各種工具應(yīng)運而生,都在爭相解決我們的工作效率問題。今天我要給大家介紹一款效率
  • 華為HarmonyOS 4升級計劃公布:首批34款機型今日開啟公測

    8月4日消息,今天下午華為正式發(fā)布了HarmonyOS 4系統(tǒng),在更流暢的前提下,還帶來了不少新功能,UI設(shè)計也有變化,會讓手機煥然一新。華為宣布,首批機型將會在
  • 朋友圈可以修改可見范圍了 蘋果用戶可率先體驗

    近日,iOS用戶迎來微信8.0.27正式版更新,除了可更換二維碼背景外,還新增了多項實用功能。在新版微信中,朋友圈終于可以修改可見范圍,簡單來說就是已發(fā)布的朋友圈
  • 電博會與軟博會實現(xiàn)"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發(fā)揮展會拉動人流、信息流、資金流實現(xiàn)快速交互流動的作用,繼而推動區(qū)域經(jīng)濟良性發(fā)展;又可以聚
Top