儲存2N倍擴容原理
首先分享一個58同城非常帥氣的秒級資料擴容的方案。這個方案解決什麼問題呢?原來資料庫水平切分成N個庫,現在要擴容成2N個庫,解決的就是這個問題。
假設原來分成兩個庫,假設按照hash的方式分片。如上圖,分為奇數庫和偶數庫。
第一個步驟提升從庫,底下一個從庫放到上面來(其實什麼動作都沒有做);
第二個步驟修改配置,此時擴容完成,原來是2個分片,修改配置後變成4個分片,這個過程沒有資料的遷移。原來偶數的那一部分現在變成了兩個部分,一部分是0,一部分是2,奇數的部分現在變成1和3。0庫和2庫沒有資料衝突,只是擴容之後在短時間內雙主的可用性這個特性丟失掉了。
第三個步驟還要做一些收尾操作:把舊的雙主給解除掉,為了保證可用性增加新的雙主同步,原來擁有全部的資料,現在只為一半的資料提供服務了,我們把多餘的資料刪除掉,結尾這三個步驟可以事後慢慢操作。整個擴容在過程在第二步提升從庫,修改配置其實就秒級完成了,非常的帥氣。
相關文章
- HashMap擴容原理HashMap
- 超詳盡!Linux雲伺服器儲存擴容實操Linux伺服器
- Synology群暉NAS儲存擴容電腦空間的教程
- 手機擴容不再難!OV NM Card高速儲存卡評測
- 教你利用鐵威馬NAS為電腦儲存空間擴容
- Git的儲存原理Git
- Prometheus TSDB儲存原理Prometheus
- HashMap原理(二) 擴容機制及存取原理HashMap
- 固態硬碟儲存原理硬碟
- SRAM資料儲存原理
- MySQL的varchar儲存原理:InnoDB記錄儲存結構MySql
- redis 儲存結構原理 2Redis
- Web儲存(Web Storage)擴充套件EStorageWeb套件
- 冰河,能不能講講如何實現MySQL資料儲存的無限擴容?MySql
- Git儲存內容的位置與方式Git
- InnoDB儲存引擎MVCC實現原理儲存引擎MVC
- LSM儲存引擎基本原理儲存引擎
- 雲端儲存的技術原理
- MongoDB 儲存引擎與內部原理MongoDB儲存引擎
- HP EVA系列儲存結構原理研究
- Android 儲存優化 —— MMKV 整合與原理Android優化
- Aspose.Slides.NET 19.2 解析ppt內容儲存svg 儲存ppt內部圖片IDESVG
- HashMap的底層結構、原理、擴容機制HashMap
- 重新學習Mysql資料庫3:Mysql儲存引擎與資料儲存原理MySql資料庫儲存引擎
- 亞馬遜雲科技提升Serverless計算功能,擴充Amazon Lambda臨時儲存20倍至10GB亞馬遜Server
- 如何檢視Control File中儲存的內容
- 塊儲存 檔案儲存 物件儲存物件
- Java HashMap原理及內部儲存結構JavaHashMap
- js浮點數儲存精度丟失原理JS
- 不同類別儲存器基本原理
- HP EVA系列儲存資料恢復原理資料恢復
- docker檔案系統分層儲存原理Docker
- 乾貨:如何通過Federation將Hadoop儲存容量提升4倍?Hadoop
- 儲存—物件儲存_Minio物件
- 使用LocalStorage實現Form表單內容本地儲存ORM
- 怎麼更改網頁上的內容並儲存網頁
- 通過MySQL儲存原理來分析排序和鎖MySql排序
- redis叢集資料儲存和獲取原理Redis
- 從原始碼分析RocketMq訊息的儲存原理原始碼MQ