成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

MySQL 的 MTS

IT那活兒 / 428人閱讀
MySQL 的 MTS
點(diǎn)擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!??! 

  
Mysql的并行復(fù)制技術(shù)演變,mysql并行復(fù)制enhanced multi-threaded slave, 5.6是基于schema并行,到5.7的group commit在這之前redo log和binlog串行刷盤很影響性能,group commit出現(xiàn)將事務(wù)分組,組內(nèi)的binlog刷盤動作交給一個事務(wù)進(jìn)行,實(shí)現(xiàn)組提交目的,通過redo log和binlog的組提交解決磁盤IO的性能。


MTS based on schema

涉及不同 schema 的 DML 操作,在 slave 端可以按 schema 粒度并行回放,弱點(diǎn)也很明顯,如果實(shí)例中的 schema 較少,并行回放效果并不理想。其優(yōu)化方式也比較簡單 slave_parallel_workers 小于等于 master 的 schema 數(shù)量。

LOGICAL_CLOCK并行復(fù)制

參數(shù) slave-parallel-type 來控制并行復(fù)制策略,配置為 LOGICAL_CLOCK。

原理:redo log組提交(group commit)策略,為同一組一起提交的事務(wù)維護(hù)一個commit_id,并寫入binlog日志。日志傳到備庫后,coordinator會以輪詢的方式將相同commit_id的事務(wù)分發(fā)到多個worker執(zhí)行,待一組執(zhí)行完成后,再取下一批。

在 binlog 中每個事務(wù)會有多出兩個標(biāo)簽

  • sequence_number:隨每個事務(wù)遞增的自增 ID,每次新的 binlog 會從 1 開始;

  • last_committed:當(dāng)前事務(wù)所依賴的上次事務(wù)的 sequence_number,每次新的 binlog 會從 0 開始。

last_committed 相同值的事務(wù)代表同時提交的,可以并行回放。
#180105 20:08:33 ... last_committed=7201 sequence_number=7203
#180105 20:08:33 ... last_committed=7203 sequence_number=7204
#180105 20:08:33 ... last_committed=7203 sequence_number=7205
#180105 20:08:33 ... last_committed=7203 sequence_number=7206
#180105 20:08:33 ... last_committed=7205 sequence_number=7207
  • 7203 事務(wù)依賴 7201;
  • 7204、7205、7206 事務(wù)依賴 7203,可以并行提交;
  • 7207 事務(wù)依賴 7205,由于 7205 依賴 7203,那么在 7205 執(zhí)行完后,7207 可以和 7206 并行執(zhí)行。
優(yōu)化方式通過調(diào)整 master group commit size 和 slave 的并行 work 線程數(shù),提升并行效率。
master group commit size 和并發(fā)壓力,master group commit size主要跟下面兩個參數(shù)相關(guān):
  • binlog_group_commit_sync_delay

    表示 binlog 提交事務(wù)前等待多少微秒;

  • binlog_group_commit_sync_no_delay_count

    表示同步隊列最大允許的事務(wù)數(shù),當(dāng)?shù)却峤坏木€程達(dá)到多少時, 就不在等待,在 master 低并發(fā)的負(fù)載下,并行回放效果就不好了,如果想要提高并行度,需要增加 binlog_group_commit_sync_delay,積累較多的分組大小,副作用是拉低 master 吞吐量。

Write set

上述基于組提交的并行存在一些問題,組提交的理論依據(jù)是如果多個事務(wù)他們能在同一時間內(nèi)提交,這個就間接說明了這個幾個事務(wù)鎖上是沒有沖突的,也是就說他們各自持有不同的鎖,互不影響;邏輯上可以把這幾個事務(wù)看成一個組,在slave以“組”為單位分配給sql線程執(zhí)行,這樣多個sql線程就可以并行跑了。所以它要求庫上要有一定的并發(fā)度,不然就有可能變成每個組里面只有一個事務(wù),這樣就有串行沒什么區(qū)別了。

writeset就解決了上述的問題,如果兩次修改的數(shù)據(jù)沒有沖突,就會打包到一個組里面并行回放,WriteSet通過檢測兩個事務(wù)是否更新了相同的記錄來判斷事務(wù)能否并行回放的,因此需要在運(yùn)行時保存已經(jīng)提交的事務(wù)信息以記錄歷史事務(wù)更新了哪些行。記錄歷史事務(wù)的參數(shù)為binlog_transaction_dependency_history_size。該值越大可以記錄更多的已經(jīng)提交的事務(wù)信息,不過需要注意的是,這個值并非指事務(wù)大小,而是指追蹤的事務(wù)更新信息的數(shù)量。

開啟writeset:

  • binlog_format=row
  • 開啟 transaction_write_set_extraction=XXHASH64
  • 更新表必須有主鍵,如果更新事務(wù)包含外鍵,則退回 commit_order 方式
  • binlog_transaction_dependency_tracking = [COMMIT_ORDER | WRITESET | WRITESET_SESSION]
slave 上開啟 slave_parallel_workers。

本文作者:饒茂林(上海新炬王翦團(tuán)隊)

本文來源:“IT那活兒”公眾號

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/129297.html

相關(guān)文章

  • 《30天自制操作系統(tǒng)》第9天

    摘要:內(nèi)存容量檢查要做內(nèi)存管理,首先得知道內(nèi)存的容量,怎么知道內(nèi)存的容量呢可以告訴我們答案。但使用稍微有點(diǎn)麻煩,于是,作者決定自己寫程序檢查內(nèi)存容量。狀態(tài)寄存器的第位位,對齊檢查,在中即使將它設(shè)置為,它也會變成,而中不會出現(xiàn)這種情況。 第九天 內(nèi)存管理 1.整理源文件 這一節(jié)只是進(jìn)行了代碼整理,把...

    zzzmh 評論0 收藏0
  • 媒體轉(zhuǎn)碼截圖和工作流場景常見問題【系列一】

    摘要:首先確保輸入文件內(nèi)容正常,其次保證截圖配置是否符合規(guī)格,可按照本文中常見問題一一對照,特別注意截圖時間點(diǎn),關(guān)鍵幀等信息。媒體工作流執(zhí)行時,轉(zhuǎn)碼管道上綁定的隊列或通知機(jī)制是否同時生效目前媒體工作流觸發(fā)執(zhí)行的作業(yè),忽略轉(zhuǎn)碼管道上綁定的消息機(jī)制。 摘要: 媒體處理創(chuàng)建消息主題出現(xiàn)Only one topic can be created!錯誤 目前媒體處理每個用戶只能開一個管道,無法創(chuàng)建多管...

    scq000 評論0 收藏0
  • NPM酷庫:file-type,檢測文件類型

    摘要:通常,我們的程序通過文件后綴名檢測類型,這是最直接簡潔的方式。原理可以直接檢測一個數(shù)據(jù)流,得到這個數(shù)據(jù)的內(nèi)容文件類型。的原理是檢測文件數(shù)據(jù)的。通常情況下,一些知名的文件類型,在其文件開頭的幾個字節(jié)用來標(biāo)志其文件類型,這幾個字節(jié)就叫做。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 通常,我們的程序通過文件后綴名檢測類型,這是最直接簡潔的方式。但是,在一些情況下,直接通過后綴名檢測文件...

    CarterLi 評論0 收藏0
  • 前端容器化——Node.Js & Mongodb

    摘要:另外,中間件還提供了諸如日志記錄之類功能,便于查詢?nèi)蝿?wù)狀態(tài)以及信息。 DevOps大熱,這里我們借著上線一個node中間件,簡單介紹下前端容器化相關(guān)的內(nèi)容 原文:http://blog.thonatos.com/dockerizing-your-frontend-project/ (很多東西還來不及寫,有時間再補(bǔ)充吧T.T,比如:如何快速在服務(wù)器部署vpn神馬の一定很有用...) In...

    luckyw 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<