TiDB Binlog 源码阅读系列文章(五)Pump Storage 介绍(上)

2019-10-09
阅读 5 分钟
1.5k
在 上篇文章 中,我们主要介绍了 Pump Server 的上线过程、gRPC API 实现、以及下线过程和相关辅助机制,其中反复提到了 Pump Storage 这个实体。本文就将介绍 Pump Storage 的实现,其主要代码在 pump/storage 文件夹中。

一体化数据同步平台 DM 1.0 GA 发布

2019-09-09
阅读 1 分钟
1.8k
DM(TiDB Data Migration)是由 PingCAP 开发的一体化数据同步平台,支持从 MySQL 或 MariaDB 到 TiDB 的全量数据迁移和增量数据同步。无论是从 MySQL 向 TiDB 进行平滑数据迁移还是用 TiDB 作为多个 MySQL 实例的数据汇总库,都可以通过 DM 来实现。DM 在 TiDB DevCon 2019 上正式开源,经过半年多时间在大量用户、开发...

TiDB Binlog 源码阅读系列文章(四)Pump server 介绍

2019-08-23
阅读 5 分钟
1.2k
在 上篇文章 中,我们介绍了 TiDB 如何通过 Pump client 将 binlog 发往 Pump,本文将继续介绍 Pump server 的实现,对应的源码主要集中在 TiDB Binlog 仓库的 pump/server.go 文件中。

TiDB Binlog 源码阅读系列文章(三)Pump client 介绍

2019-08-07
阅读 5 分钟
1.6k
在 上篇文章 中,我们介绍了 Pump 的作用是存储 TiDB 产生的 binlog。本篇将介绍 Pump client,希望大家了解 TiDB 把 binlog 写到 Pump,以及输出数据的过程。

DM 源码阅读系列文章(十)测试框架的实现

2019-07-24
阅读 6 分钟
1.7k
本文为 DM 源码阅读系列文章的第十篇,之前的文章已经详细介绍过 DM 数据同步各组件的实现原理和代码解析,相信大家对 DM 的实现细节已经有了深入的了解。本篇文章将从质量保证的角度来介绍 DM 测试框架的设计和实现,探讨如何通过多维度的测试方法保证 DM 的正确性和稳定性。

DM 源码阅读系列文章(九)shard DDL 与 checkpoint 机制的实现

2019-07-18
阅读 7 分钟
1.6k
本文为 DM 源码阅读系列文章的第九篇,在 上篇文章 中我们详细介绍了 DM 对 online schema change 方案的同步支持,对 online schema change 同步方案以及实现细节等逻辑进行了分析。

TiDB 在小红书从 0 到 200+ 节点的探索和应用

2019-07-12
阅读 8 分钟
2.6k
小红书使用 TiDB 历史可以追溯到 2017 年甚至更早,那时在物流、仓库等对新技术比较感兴趣的场景下应用,在 2018 年 5 月之后,我们就开始逐步铺开,延展到其他适合 TiDB 的场景中去。截止目前,小红书使用的 TiDB 节点数在 200+ 个,未来也有更大扩展空间。

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

2019-07-05
阅读 3 分钟
1.5k
TiDB Binlog 主要由 Pump 和 Drainer 两部分组成,其中 Pump 负责存储 TiDB 产生的 binlog 并向 Drainer 提供按时间戳查询和读取 binlog 的服务,Drainer 负责将获取后的 binlog 合并排序再以合适的格式保存到对接的下游组件。

DM 源码阅读系列文章(八)Online Schema Change 同步支持

2019-06-20
阅读 3 分钟
1.6k
本文为 DM 源码阅读系列文章的第八篇,上篇文章 对 DM 中的定制化数据同步功能进行详细的讲解,包括库表路由(Table routing)、黑白名单(Black & white table lists)、列值转化(Column mapping)、binlog 过滤(Binlog event filter)四个主要功能的实现。

TiDB Binlog 源码阅读系列文章(一)序

2019-06-18
阅读 3 分钟
1.3k
TiDB Binlog 组件用于收集 TiDB 的 binlog,并准实时同步给下游,如 TiDB、MySQL 等。该组件在功能上类似于 MySQL 的主从复制,会收集各个 TiDB 实例产生的 binlog,并按事务提交的时间排序,全局有序的将数据同步至下游。利用 TiDB Binlog 可以实现数据准实时同步到其他数据库,以及 TiDB 数据准实时的备份与恢复。随着...

DM 源码阅读系列文章(七)定制化数据同步功能的实现

2019-06-06
阅读 5 分钟
1.2k
本文为 DM 源码阅读系列文章的第七篇,在 上篇文章 中我们介绍了 relay log 的实现,主要包括 relay log 目录结构定义、relay log 数据的处理流程、主从切换支持、relay log 的读取等逻辑。本篇文章我们将会对 DM 的定制化数据同步功能进行详细的讲解。

DM 源码阅读系列文章(五)Binlog replication 实现

2019-05-08
阅读 4 分钟
1.5k
本文为 DM 源码阅读系列文章的第五篇。上篇文章 介绍了 dump 和 load 两个数据同步处理单元的设计实现,对核心 interface 实现、数据导入并发模型、数据导入暂停或中断的恢复进行了分析。本篇文章将详细地介绍 DM 核心处理单元 Binlog replication,内容包含 binlog 读取、过滤、路由、转换,以及执行等逻辑。文内涉及到...

TiDB Binlog 组件正式开源,前排开“坑”走起!

2019-05-06
阅读 1 分钟
1.5k
TiDB Binlog 组件用于收集 TiDB 的 binlog,并准实时同步给下游,如:TiDB/MySQL等。该组件在功能上类似于 MySQL 的主从复制,会收集各个 TiDB 实例产生的 binlog,并按事务提交的时间排序,全局有序的将数据同步至下游。利用 TiDB Binlog 可以实现数据准实时同步到其他数据库,以及 TiDB 数据准实时的备份与恢复。TiDB ...

DM 源码阅读系列文章(四)dump/load 全量同步的实现

2019-04-28
阅读 5 分钟
2k
本文为 DM 源码阅读系列文章的第四篇,上篇文章 介绍了数据同步处理单元实现的功能,数据同步流程的运行逻辑以及数据同步处理单元的 interface 设计。本篇文章在此基础上展开,详细介绍 dump 和 load 两个数据同步处理单元的设计实现,重点关注数据同步处理单元 interface 的实现,数据导入并发模型的设计,以及导入任务...

DM 源码阅读系列文章(三)数据同步处理单元介绍

2019-04-11
阅读 3 分钟
1.2k
本文为 DM 源码阅读系列文章的第三篇,上篇文章 介绍了 DM 的整体架构,DM 组件 DM-master 和 DM-worker 的入口代码,以及两者之间的数据交互模型。本篇文章详细地介绍 DM 数据同步处理单元(DM-worker 内部用来同步数据的逻辑单元),包括数据同步处理单元实现了什么功能,数据同步流程、运行逻辑,以及数据同步处理单...

DM 源码阅读系列文章(一)序

2019-03-20
阅读 3 分钟
1.9k
TiDB-DM 是由 PingCAP 开发的一体化数据同步任务管理平台,支持从 MySQL 或 MariaDB 到 TiDB 的全量数据迁移和增量数据同步,在 TiDB DevCon 2019 正式开源。作为一款连接 MySQL/MariaDB 生态和 TiDB 生态的中台类型产品,DM 获得了广泛的关注,很多公司、开发者和社区的伙伴已经在使用 DM 来进行数据迁移和管理。随着大...