# TiDB Binlog 的原理与架构

__*TiDB Binlog 原理*__
__*TiDB Binlog 特点*__

+ 高可用性
+ 性能
+ 下游数据格式

![right](./student-guide/diagram/TiDBBinlogPI_aa_001_20220624.png)
-------------------------------------------------------------
图中是 TiDB Binlog 的架构图,我们可以看到从左到右,TiDB 数据库的数据修改产生 Binlog 写入到 TiDB Binlog 的 Pump 组件集群中,Pump 组件负责存储自己接收的 Binlog 并排序,之后各个 Pump 组建的 Binlog 由 Drainer 组件按照事务顺序排序,写入到最右边的目标中,每个 Drainer 可以对应 TiDB 数据库, MySQL 或者 Apache Kafka。
所以我们看到,组成 TiDB Binlog 的核心组件为:Pump 集群和Drainer,同时 TiDB Binlog 还提供了一个运维工具 binlogctl。下面我们分别进行介绍。