1.Binlog介绍与原理
1.1 介绍
Binlog在TiDB5.0后逐渐被TiCDC替代。
1.2 原理
pump存储自己接收的binlog,并且按照日志的时间顺序进行排序。
pump是一个集群,都能接收binlog,所有的pump会集中到一个Drainer,并且在drainer中进行排序。
Drainner支持将Binlog同步到Mysql,TiDB,Kafka或者本地文件中。
1.3 Binlog格式
注意:
TiDB Binlog格式与Mysql Binlog的Row格式类似。
Binlog记录的是数据的增删改,是按照事务的提交时间记录的,顺序也是按提交顺序记录的,只会事务提交记提交的。
binlog的特点是只有提交了,才会有记录。
TiDB Binlog是异步复制。
1.4 Binlog支持的下游系统
2.pump
3.drainer
4.binlogctl
TSO:时间戳。
4.1 常用的Binlogctl命令
5.使用TiUP部署TiDB Binlog
5.1 启动前准备
5.2 Binlog的启动
5.2.1 pump
5.2.2 drainer
6. Binlog集群的监控
7.随堂练习
(1)
答案:BE
解析:binlog是按照事务的提交时间有序记录的;未提交的事务一定不会出现在binlog中,与Mysql数据库中的row格式类似,Tidb的binlog默认是关闭的。
(2)
答案:ACD
解析:Pump组件负责存储自己接收的Binlog,而且还要完成排序。Drainer组件需要对事务进行归并排序,TiDB Binlog是异步复制,TiDB Binlog在Tidb 5.0 中部分功能不兼容。