TiDB Binlog 组件正式开源,前排开“坑”走起!
时间:2022-06-20
本文章向大家介绍TiDB Binlog 组件正式开源,前排开“坑”走起!,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
TiDB Binlog 组件用于收集 TiDB 的 binlog,并准实时同步给下游,如:TiDB/MySQL等。该组件在功能上类似于 MySQL 的主从复制,会收集各个 TiDB 实例产生的 binlog,并按事务提交的时间排序,全局有序的将数据同步至下游。利用 TiDB Binlog 可以实现数据准实时同步到其他数据库,以及 TiDB 数据准实时的备份与恢复。TiDB Binlog 作为 TiDB 的核心组件之一,已经在上百家用户的生产环境中长时间稳定运行。
为方便用户和开发者更加深入理解和使用 TiDB Binlog 组件,以及基于 TiDB Binlog 组件做二次开发用于更多的业务场景, 我们决定今天正式开源 TiDB Binlog 组件。
TiDB Binlog 适用的功能场景
- 准实时数据同步:同步 TiDB 数据到其他数据库或消息队列(如TiDB/MySQL/MariaDB/Kafka)。
- 准实时备份和恢复:增量备份 TiDB 集群数据到外部系统,利用备份的数据在系统故障或者其他场景时可将数据恢复到任意时间点。
TiDB Binlog 架构
TiDB Binlog 核心特性
- 支持类似 MySQL ROW 复制模式。
- 准实时并按事务提交的时间顺序将数据同步至下游。
- 分布式架构设计,支持水平弹性扩容和服务高可用。
- 数据高可靠,系统实时将数据持久化到本地磁盘。
- 支持多种输出方式,如下:
- 文件:系统准实时将 binlog 写入文件系统作为增量备份,利用此增量备份文件可将数据恢复到任意时间点。
- 消息队列:按照 [binlog slave protocol](https://pingcap.com/docs-cn/tools/binlog/binlog-slave-client/) 输出到 Kafka。
- 下游目标数据库:TiDB/MySQL/MariaDB。
TiDB Binlog 代码及文档资源
欢迎大家一起参与 TiDB Binlog 的设计、研发、测试共同推进 TiDB Binlog 走向更成熟,更稳定。近期我们将发布 TiDB Binlog 源码阅读指南,敬请期待。
- 51Nod 1182 完美字符串(字符串处理 贪心 Facebook Hacker Cup选拔)
- 51Nod 1080 两个数的平方和(数论,经典题)
- Selenium3+python自动化50-环境搭建(firefox)
- Selenium2+python自动化51-unittest简介
- 开发者的如何优雅的使用OSX
- 1082 与7无关的数(思维题,巨坑)
- Facebook构建高性能Android视频组件实践之路
- Samba服务的配置总结
- 大型互联网系统的监控流水线
- 10-移动端开发教程-移动端事件
- 灰色理论预测模型
- tweet情感分析流程
- Selenium2+python自动化52-unittest执行顺序
- 基于TensorFlow实现自编码器(附源码)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解Android Gradle插件3.0挖坑日记
- Android开发之拼音转换工具类PinyinUtils示例
- Android多线程断点续传下载示例详解
- Android设备与外接U盘实现数据读取操作的示例
- [Alibaba-ARouter]浅谈简单好用的Android页面路由框架
- android屏幕圆角实现方法的示例代码
- Android开发中日期工具类DateUtil完整实例
- Android模仿实现微博详情页滑动固定顶部栏的效果实例
- Android EventBus(普通事件/粘性事件)详解
- Android实现EventBus登录界面与传值(粘性事件)
- Android自定义LinearLayout布局显示不完整的解决方法
- android短信管理器SmsManager实例详解
- Android开发判断一个app应用是否在运行的方法详解
- 收割腾讯等十几个Offer后,揭秘进大厂的秘诀和Android技术面试题汇总!
- Flutter BLoC 异步通信、BlocBuilder的基本使用、BlocProvider的初探