成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

TiDB Binlog 源碼閱讀系列文章(一)序

whidy / 2197人閱讀

摘要:總體而言,讀者需要有一定的使用經(jīng)驗,以及可以讀懂語言程序。內(nèi)容概要本篇作為源碼閱讀系列文章的序篇,會簡單的給大家講一下后續(xù)會講哪些部分以及邏輯順序,方便大家對本系列文章有整體的了解。小結(jié)本篇文章主要介紹了源碼閱讀系列文章的目的和規(guī)劃。

作者:黃佳豪

TiDB Binlog 組件用于收集 TiDB 的 binlog,并準(zhǔn)實時同步給下游,如 TiDB、MySQL 等。該組件在功能上類似于 MySQL 的主從復(fù)制,會收集各個 TiDB 實例產(chǎn)生的 binlog,并按事務(wù)提交的時間排序,全局有序的將數(shù)據(jù)同步至下游。利用 TiDB Binlog 可以實現(xiàn)數(shù)據(jù)準(zhǔn)實時同步到其他數(shù)據(jù)庫,以及 TiDB 數(shù)據(jù)準(zhǔn)實時的備份與恢復(fù)。隨著大家使用的廣泛和深入,我們遇到了不少由于對 TiDB Binlog 原理不理解而錯誤使用的情況,也發(fā)現(xiàn)了一些 TiDB Binlog 支持并不完善的場景和可以改進(jìn)的設(shè)計。

在這樣的背景下,我們開展 TiDB Binlog 源碼閱讀分享活動,通過對 TiDB Binlog 代碼的分析和設(shè)計原理的解讀,幫助大家理解 TiDB Binlog 的實現(xiàn)原理,和大家進(jìn)行更深入的交流,同時也有助于社區(qū)參與 TiDB Binlog 的設(shè)計、開發(fā)和測試。

背景知識

本系列文章會聚焦 TiDB Binlog 本身,讀者需要有一些基本的知識,包括但不限于:

Go 語言,TiDB Binlog 由 Go 語言實現(xiàn),有一定的 Go 語言基礎(chǔ)有助于快速理解代碼。

數(shù)據(jù)庫基礎(chǔ)知識,包括 MySQL、TiDB 的功能、配置和使用等;了解基本的 DDL、DML 語句和事務(wù)的基本常識。

了解 Kafka 的基本原理。

基本的后端服務(wù)知識,比如后臺服務(wù)進(jìn)程管理、RPC 工作原理等。

總體而言,讀者需要有一定 MySQL/TiDB/Kafka 的使用經(jīng)驗,以及可以讀懂 Go 語言程序。在閱讀 TiDB Binlog 源碼之前,可以先從閱讀 《TiDB Binlog 架構(gòu)演進(jìn)與實現(xiàn)原理》 入手。

內(nèi)容概要

本篇作為《TiDB Binlog 源碼閱讀系列文章》的序篇,會簡單的給大家講一下后續(xù)會講哪些部分以及邏輯順序,方便大家對本系列文章有整體的了解。

初識 TiDB Binlog 源碼:整體介紹一下 TiDB Binlog 以及源碼,包括 TiDB Binlog 主要有哪些組件與模塊,以及如何在本地利用集成測試框架快速啟動一個集群,方便大家體驗 Binlog 同步功能與后續(xù)可能修改代碼的測試。

pump client 介紹:介紹 pump client 同時讓大家了解 TiDB 是如何生成 binlog 的。

pump server 介紹:介紹 pump 啟動的主要流程,包括狀態(tài)維護(hù),定時觸發(fā) gc 與生成 fake binlog 驅(qū)動下游。

pump storage 模塊:storage 是 pump 的主要模塊,主要負(fù)載 binlog 的存儲,讀取與排序, 可能分多篇講解。

drainer server 介紹:drainer 啟動的主要流程,包括狀態(tài)維護(hù),如何獲取全局 binlog 數(shù)據(jù)以及 Schema 信息。

drainer loader package 介紹:loader packge 是負(fù)責(zé)實時同步數(shù)據(jù)到 mysql 的模塊,在 TiDB Binlog 里多處用到。

drainer sync 模塊介紹:以同步 mysql 為例介紹 drainer 是如何同步到不同下游系統(tǒng)。

slave binlog 介紹:介紹 drainer 如何轉(zhuǎn)換與輸出 binlog 數(shù)據(jù)到 Kafka。

arbiter 介紹:同步 Kafka 中的數(shù)據(jù)到下游,通過了解 arbiter,大家可以了解如何同步數(shù)據(jù)到其他下游系統(tǒng),比如更新 Cache,全文索引系統(tǒng)等。

reparo 介紹:通過了解 reparo,大家可以將 drainer 的增量備份文件恢復(fù)到 TiDB 中。

小結(jié)

本篇文章主要介紹了 TiDB Binlog 源碼閱讀系列文章的目的和規(guī)劃。下一篇文章我們會從 TiDB Binlog 的整體架構(gòu)切入,然后分別講解各個組件和關(guān)鍵設(shè)計點。更多的源碼內(nèi)容會在后續(xù)文章中逐步展開,敬請期待。

最后歡迎大家參與 TiDB Binlog 的開發(fā)。

原文閱讀:

TiDB Binlog 組件用于收集 TiDB 的 binlog,并準(zhǔn)實時同步給下游,如 TiDB、MySQL 等。該組件在功能上類似于 MySQL 的主從復(fù)制,會收集各個 TiDB 實例產(chǎn)生的 binlog,并按事務(wù)提交的時間排序,全局有序的將數(shù)據(jù)同步至下游。利用 TiDB Binlog 可以實現(xiàn)數(shù)據(jù)準(zhǔn)實時同步到其他數(shù)據(jù)庫,以及 TiDB 數(shù)據(jù)準(zhǔn)實時的備份與恢復(fù)。隨著大家使用的廣泛和深入,我們遇到了不少由于對 TiDB Binlog 原理不理解而錯誤使用的情況,也發(fā)現(xiàn)了一些 TiDB Binlog 支持并不完善的場景和可以改進(jìn)的設(shè)計。

在這樣的背景下,我們開展 TiDB Binlog 源碼閱讀分享活動,通過對 TiDB Binlog 代碼的分析和設(shè)計原理的解讀,幫助大家理解 TiDB Binlog 的實現(xiàn)原理,和大家進(jìn)行更深入的交流,同時也有助于社區(qū)參與 TiDB Binlog 的設(shè)計、開發(fā)和測試。

背景知識

本系列文章會聚焦 TiDB Binlog 本身,讀者需要有一些基本的知識,包括但不限于:

Go 語言,TiDB Binlog 由 Go 語言實現(xiàn),有一定的 Go 語言基礎(chǔ)有助于快速理解代碼。

數(shù)據(jù)庫基礎(chǔ)知識,包括 MySQL、TiDB 的功能、配置和使用等;了解基本的 DDL、DML 語句和事務(wù)的基本常識。

了解 Kafka 的基本原理。

基本的后端服務(wù)知識,比如后臺服務(wù)進(jìn)程管理、RPC 工作原理等。

總體而言,讀者需要有一定 MySQL/TiDB/Kafka 的使用經(jīng)驗,以及可以讀懂 Go 語言程序。在閱讀 TiDB Binlog 源碼之前,可以先從閱讀 《TiDB Binlog 架構(gòu)演進(jìn)與實現(xiàn)原理》 入手。

內(nèi)容概要

本篇作為《TiDB Binlog 源碼閱讀系列文章》的序篇,會簡單的給大家講一下后續(xù)會講哪些部分以及邏輯順序,方便大家對本系列文章有整體的了解。

初識 TiDB Binlog 源碼:整體介紹一下 TiDB Binlog 以及源碼,包括 TiDB Binlog 主要有哪些組件與模塊,以及如何在本地利用集成測試框架快速啟動一個集群,方便大家體驗 Binlog 同步功能與后續(xù)可能修改代碼的測試。

pump client 介紹:介紹 pump client 同時讓大家了解 TiDB 是如何生成 binlog 的。

pump server 介紹:介紹 pump 啟動的主要流程,包括狀態(tài)維護(hù),定時觸發(fā) gc 與生成 fake binlog 驅(qū)動下游。

pump storage 模塊:storage 是 pump 的主要模塊,主要負(fù)載 binlog 的存儲,讀取與排序, 可能分多篇講解。

drainer server 介紹:drainer 啟動的主要流程,包括狀態(tài)維護(hù),如何獲取全局 binlog 數(shù)據(jù)以及 Schema 信息。

drainer loader package 介紹:loader packge 是負(fù)責(zé)實時同步數(shù)據(jù)到 mysql 的模塊,在 TiDB Binlog 里多處用到。

drainer sync 模塊介紹:以同步 mysql 為例介紹 drainer 是如何同步到不同下游系統(tǒng)。

slave binlog 介紹:介紹 drainer 如何轉(zhuǎn)換與輸出 binlog 數(shù)據(jù)到 Kafka。

arbiter 介紹:同步 Kafka 中的數(shù)據(jù)到下游,通過了解 arbiter,大家可以了解如何同步數(shù)據(jù)到其他下游系統(tǒng),比如更新 Cache,全文索引系統(tǒng)等。

reparo 介紹:通過了解 reparo,大家可以將 drainer 的增量備份文件恢復(fù)到 TiDB 中。

小結(jié)

本篇文章主要介紹了 TiDB Binlog 源碼閱讀系列文章的目的和規(guī)劃。下一篇文章我們會從 TiDB Binlog 的整體架構(gòu)切入,然后分別講解各個組件和關(guān)鍵設(shè)計點。更多的源碼內(nèi)容會在后續(xù)文章中逐步展開,敬請期待。

最后歡迎大家參與 TiDB Binlog 的開發(fā)。

原文閱讀
https://www.pingcap.com/blog-cn/tidb-binlog-source-code-reading-1/

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/18056.html

相關(guān)文章

  • DM 源碼閱讀系列文章

    摘要:內(nèi)容概要源碼閱讀系列將會從兩條線進(jìn)行展開,一條是圍繞的系統(tǒng)架構(gòu)和重要模塊進(jìn)行分析,另一條線圍繞內(nèi)部的同步機(jī)制展開分析。更多的代碼閱讀內(nèi)容會在后面的章節(jié)中逐步展開,敬請期待。 作者:楊非 前言 TiDB-DM 是由 PingCAP 開發(fā)的一體化數(shù)據(jù)同步任務(wù)管理平臺,支持從 MySQL 或 MariaDB 到 TiDB 的全量數(shù)據(jù)遷移和增量數(shù)據(jù)同步,在 TiDB DevCon 2019 正...

    Mr_houzi 評論0 收藏0

發(fā)表評論

0條評論

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