TiDB Binlog 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
TiDB Binlog 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache-2.0
操作系统: 跨平台
收录时间: 2019-05-06
提 交 者: 局长

TiDB Binlog 是一个用于收集 TiDB 的 binlog,并提供准实时备份和同步功能的商业工具。

TiDB Binlog 支持以下功能场景

  • 数据同步:同步 TiDB 集群数据到其他数据库
  • 实时备份和恢复:备份 TiDB 集群数据,同时可以用于 TiDB 集群故障时恢复

TiDB Binlog 整体架构

TiDB Binlog 集群主要分为 Pump 和 Drainer 两个组件,以及 binlogctl 工具:

Pump

Pump 用于实时记录 TiDB 产生的 Binlog,并将 Binlog 按照事务的提交时间进行排序,再提供给 Drainer 进行消费。

Drainer

Drainer 从各个 Pump 中收集 Binlog 进行归并,再将 Binlog 转化成 SQL 或者指定格式的数据,最终同步到下游。

binlogctl 工具

binlogctl 是一个 TiDB Binlog 配套的运维工具,具有如下功能:

  • 获取 TiDB 集群当前的 TSO
  • 查看 Pump/Drainer 状态
  • 修改 Pump/Drainer 状态
  • 暂停/下线 Pump/Drainer

主要特性

  • 多个 Pump 形成一个集群,可以水平扩容。
  • TiDB 通过内置的 Pump Client 将 Binlog 分发到各个 Pump。
  • Pump 负责存储 Binlog,并将 Binlog 按顺序提供给 Drainer。
  • Drainer 负责读取各个 Pump 的 Binlog,归并排序后发送到下游。
  • Drainer 支持 relay log 功能,通过 relay log 保证下游集群的一致性状态。

注意事项

  • 需要使用 TiDB v2.0.8-binlog、v2.1.0-rc.5 及以上版本,否则不兼容该版本的 TiDB Binlog。

  • Drainer 支持将 Binlog 同步到 MySQL、TiDB、Kafka 或者本地文件。如果需要将 Binlog 同步到其他 Drainer 不支持的类型的系统中,可以设置 Drainer 将 Binlog 同步到 Kafka,然后根据 binlog slave protocol 进行定制处理,参考 binlog slave client 用户文档

  • 如果 TiDB Binlog 用于增量恢复,可以设置配置项 db-type="file",Drainer 会将 binlog 转化为指定的 proto buffer 格式的数据,再写入到本地文件中。这样就可以使用 Reparo 恢复增量数据。

    关于 db-type 的取值,应注意:

    • 如果 TiDB 版本 < 2.1.9,则 db-type="pb"
    • 如果 TiDB 版本 > = 2.1.9,则 db-type="file" 或 db-type="pb"
  • 如果下游为 MySQL/TiDB,数据同步后可以使用 sync-diff-inspector 进行数据校验。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

TiDB Binlog 的相关资讯

TiDB Binlog 的相关博客

TiDB Binlog 源码阅读系列文章(二)初识 TiDB Binlog 源码

作者:satoru TiDB Binlog 架构简介 TiDB Binlog 主要由 Pump 和 Drainer 两部分组成,其中 Pump 负责存储 TiDB 产生的 binl...

TiDB 源码阅读系列文章(二十四)TiDB Binlog 源码解析

作者:姚维 TiDB Binlog Overview 这篇文章不是讲 TiDB Binlog 组件的源码,而是讲 TiDB 在执行 DML/DDL 语句过程中,如何将 ...

tidb入门

由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有...

TIDB介绍

TiDB 是什么? TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有...

Why TiDB Matters

在 HTAP 越来越重要的今天,我们聊聊 Why TiDB Matters,其实包含两部分,一部分是说为什么我们叫 HTAP,另外一部分是说 TiDB...

Why TiDB Matters

在 HTAP 越来越重要的今天,我们聊聊 Why TiDB Matters,其实包含两部分,一部分是说为什么我们叫 HTAP,另外一部分是说 TiDB...

Why TiDB Matters

在 HTAP 越来越重要的今天,我们聊聊 Why TiDB Matters,其实包含两部分,一部分是说为什么我们叫 HTAP,另外一部分是说 TiDB...

Tidb使用

一、为什么使用Tidb   最近发现tidb在互联网圈大火,新生代的一个NewSql数据库 具体链接可以访问pincap的官网 https://www....

tidb集群

tidb ansible部署 https://zhuanlan.zhihu.com/p/27308307?refer=newsql 网址:http://www.cnblogs.com/mowei/p/7257787.html...

TiDB Binlog 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
32 收藏
分享
返回顶部
顶部