国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL主從延時的處置方法是什么

2024-07-24 12:33:41
字體:
供稿:網(wǎng)友
  本篇內(nèi)容主要講解“MySQL主從延時的處理方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“MySQL主從延時的處理方法是什么”吧!
  
  為什么主從延時這么大?
 
  MySQL主從延時的處理方法是什么
 
  答:MySQL使用單線程重放RelayLog。
 
  應(yīng)該怎么優(yōu)化,縮短重放時間?
 
  答:多線程并行重放RelayLog可以縮短時間。
 
  多線程并行重放RelayLog有什么問題?
  
  如何做到呢?
 
  答:設(shè)計一個哈希算法,hash(db-name) % thread-num,庫名hash之后再模上線程數(shù),就能很輕易做到,同一個庫上的寫操作,被同一個重放線程串行執(zhí)行。
 
  畫外音:不同庫上的重放,是并行的,就起到了加速做用。
 
  這個方案有什么不足?
 
  答:很多公司對MySQL的使用是“單庫多表”,如果是這樣的話,仍然只有一個庫,還是不能提高RelayLog的重放速度。
 
  啟示:將“單庫多表”的DB架構(gòu)模式升級為“多庫多表”的DB架構(gòu)模式。
 
  畫外音:數(shù)據(jù)量大并發(fā)量大的互聯(lián)網(wǎng)業(yè)務(wù)場景,“多庫”模式還具備著其他很多優(yōu)勢,例如:
 
  (1)非常方便的實例擴展:DBA很容易將不同的庫擴展到不同的實例上;
 
  (2)按照業(yè)務(wù)進行庫隔離:業(yè)務(wù)解耦,進行業(yè)務(wù)隔離,減少耦合與相互影響;
 
  (3)非常方便微服務(wù)拆分:每個服務(wù)擁有自己的實例就方便了;
 
  “單庫多表”的場景,多線程并行重放RelayLog還能怎么優(yōu)化?
 
  答:即使只有一個庫,事務(wù)在主庫上也是并發(fā)執(zhí)行的,既然在主庫上可以并行執(zhí)行,在從庫上也應(yīng)該能夠并行執(zhí)行呀?
 
  新思路:將主庫上同時并行執(zhí)行的事務(wù),分為一組,編一個號,這些事務(wù)在從庫上的回放可以并行執(zhí)行(事務(wù)在主庫上的執(zhí)行都進入到prepare階段,說明事務(wù)之間沒有沖突,否則就不可能提交),沒錯,MySQL正是這么做的。
 
  解法:基于GTID的并行復(fù)制。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 北碚区| 湖南省| 扶风县| 和政县| 阿拉善右旗| 苍山县| 宁河县| 宽甸| 子长县| 桂东县| 扬中市| 许昌市| 株洲市| 五大连池市| 庐江县| 多伦县| 雅江县| 绥化市| 攀枝花市| 孝义市| 绥阳县| 华阴市| 育儿| 达拉特旗| 滁州市| 吴旗县| 景洪市| 昭苏县| 台北县| 双桥区| 开封县| 大化| 阳春市| 厦门市| 宝兴县| 南平市| 阿城市| 文成县| 廊坊市| 鄯善县| 炉霍县|