TiDB Binlog 源码阅读系列文章(三)Pump client 介绍
作者:黄佳豪在 上篇文章 中,我们介绍了 Pump 的作用是存储 TiDB 产生的 binlog。本篇将介绍 Pump client,希望大家了解 TiDB 把 binlog 写到 Pump,以及输出数据的过程。gRPC APIPump client 的代码在 tidb-tools 下这个 路径,TiDB 会直接 import 这个路…
我们是如何设计 Golang & SQL 引擎课程的? | Talent Plan 背后的故事
作者:谢海滨在 上篇文章 中我们介绍了 PingCAP Talent Plan - TiKV 方向的课程内容,本文将从课程设计的角度和大家聊一聊 TiDB 方向的课程内容,包括课程设计的逻辑,和课程学习过程中常见的问题及解答等。TiDB 方向课程内容TiDB 作为一个支持 MySQL 协议…
微众银行数据库架构演进及 TiDB 实践经验
作者介绍: 胡盼盼,微众银行数据平台室室经理。硕士毕业于华中科技大学,毕业后加入腾讯,任高级工程师,从事分布式存储与云数据库相关的研发与运营工作;2014 年加入微众银行,负责微众银行的数据库平台的建设与运营。 黄蔚,微众银行数据库平台室高级 DB…
云上 TiDB 管理「利器」,TiDB Operator 1.0 GA 发布
去年八月份,我们 开源了 TiDB Operator 项目,以实现 TiDB 在 Kubernetes 上的部署和运维。开源后到现在的近一年内,我们一方面基于用户反馈不断打磨项目的易用性,另一方面通过严苛的稳定性测试持续提升可靠性。今天,我们自豪地宣布 TiDB Operator 1.0 G…
TiKV 源码解析系列文章(十一)Storage - 事务控制层
作者:张金鹏背景知识TiKV 是一个强一致的支持事务的分布式 KV 存储。TiKV 通过 raft 来保证多副本之间的强一致,事务这块 TiKV 参考了 Google 的 Percolator 事务模型,并进行了一些优化。当 TiKV 的 Service 层收到请求之后,会根据请求的类型把这些请求…
DM 源码阅读系列文章(十)测试框架的实现
作者:杨非本文为 DM 源码阅读系列文章的第十篇,之前的文章已经详细介绍过 DM 数据同步各组件的实现原理和代码解析,相信大家对 DM 的实现细节已经有了深入的了解。本篇文章将从质量保证的角度来介绍 DM 测试框架的设计和实现,探讨如何通过多维度的测试方…
PingCAP 唐刘:如何利用混沌工程打造健壮的分布式系统?
作者:赵钰莹本文转载于 InfoQ。原文链接:https://www.infoq.cn/article/EEKM947YbboGtD_zQuLw作为混沌工程的重要推动者,Netflix 在混沌工程手册(https://www.infoq.cn/article/AsN34J2T9QDXB0s-t9JN)中谈到,在生产环境进行软件验证的想法通常会被嘲笑。过去,这句话基本都被翻译为“我们在发布之前不打算完善地验…
DM 源码阅读系列文章(九)shard DDL 与 checkpoint 机制的实现
作者:张学程本文为 DM 源码阅读系列文章的第九篇,在 上篇文章 中我们详细介绍了 DM 对 online schema change 方案的同步支持,对 online schema change 同步方案以及实现细节等逻辑进行了分析。在本篇文章中,我们将对 shard DDL 同步机制以及 checkpoint…
我们是如何设计 Rust & 分布式存储教程的? | Talent Plan 背后的故事
作者:沈泰宁 唐刘许多人眼中的 PingCAP Talent Plan 可能就是 http://github.com/pingcap/talent-plan 这个项目,但从内容角度来说并不完整,这个 Repo 只是线上课程的内容,我们还有与其配套的线下课程。 本文将从课程设计的角度和大家聊一聊 PingCAP Talent Plan(TiKV 方…
TiDB 在小红书从 0 到 200+ 节点的探索和应用
作者介绍: 张俊骏,小红书数据库与中间件团队负责人小红书使用 TiDB 历史可以追溯到 2017 年甚至更早,那时在物流、仓库等对新技术比较感兴趣的场景下应用,在 2018 年 5 月之后,我们就开始逐步铺开,延展到其他适合 TiDB 的场景中去。截止目前,小红书使…
TiKV 源码解析系列文章(十)Snapshot 的发送和接收
作者:黄梦龙背景知识TiKV 使用 Raft 算法来提供高可用且具有强一致性的存储服务。在 Raft 中,Snapshot 指的是整个 State Machine 数据的一份快照,大体上有以下这几种情况需要用到 Snapshot:正常情况下 leader 与 follower/learner 之间是通过 append lo…
TiKV 源码解析系列文章(九)Service 层处理流程解析
作者:周振靖之前的 TiKV 源码解析系列文章介绍了 TiKV 依赖的周边库,从本篇文章开始,我们将开始介绍 TiKV 自身的代码。本文重点介绍 TiKV 最外面的一层——Service 层。TiKV 的 Service 层的代码位于 src/server 文件夹下,其职责包括提供 RPC 服务、将 …
TiDB Binlog 源码阅读系列文章(二)初识 TiDB Binlog 源码
作者:satoruTiDB Binlog 架构简介TiDB Binlog 主要由 Pump 和 Drainer 两部分组成,其中 Pump 负责存储 TiDB 产生的 binlog 并向 Drainer 提供按时间戳查询和读取 binlog 的服务,Drainer 负责将获取后的 binlog 合并排序再以合适的格式保存到对接的下游组…
暑期特别企划 | 快来接收 PingCAP Talent Plan 的小惊喜!
PingCAP Talent Plan 学习通道自开通以来,收获了海内外小伙伴的密切关注,有 100 余名小伙伴参与到线上课程的学习中,第二期线下课程也于 5 月中旬圆满落幕。结合大家的意见,我们对 Talent Plan 的课程做了一些优化,并推出 Talent Plan 暑期特别企划,线…
TiDB 3.0 GA Release Notes
发版日期:2019 年 6 月 28 日TiDB 版本:3.0.0TiDB Ansible 版本:3.0.0Overview2019 年 6 月 28 日,TiDB 发布 3.0 GA 版本,对应的 TiDB Ansible 版本为 3.0.0。 相比于 V2.1,V3.0.0 版本在以下方面有重要改进:稳定性方面,显著提升了大规模集群的稳定…
TiDB 3.0 GA,稳定性和性能大幅提升
TiDB 是 PingCAP 自主研发的开源分布式关系型数据库,具备商业级数据库的数据可靠性,可用性,安全性等特性,支持在线弹性水平扩展,兼容 MySQL 协议及生态,创新性实现 OLTP 及 OLAP 融合。TiDB 3.0 版本显著提升了大规模集群的稳定性,集群支持 150+ 存储…
TiDB 在知乎万亿量级业务数据下的实践和挑战
作者介绍 孙晓光,知乎搜索后端负责人,目前承担知乎搜索后端架构设计以及工程团队的管理工作。曾多年从事私有云相关产品开发工作关注云原生技术,TiKV 项目 Committer。本文根据孙晓光老师在 TiDB TechDay 2019 北京站上的演讲整理。本次分享首先将从宏观…
DM 源码阅读系列文章(八)Online Schema Change 同步支持
作者:lan本文为 DM 源码阅读系列文章的第八篇,上篇文章 对 DM 中的定制化数据同步功能进行详细的讲解,包括库表路由(Table routing)、黑白名单(Black & white table lists)、列值转化(Column mapping)、binlog 过滤(Binlog event filter)四个主要…
TiDB Binlog 源码阅读系列文章(一)序
作者:黄佳豪TiDB Binlog 组件用于收集 TiDB 的 binlog,并准实时同步给下游,如 TiDB、MySQL 等。该组件在功能上类似于 MySQL 的主从复制,会收集各个 TiDB 实例产生的 binlog,并按事务提交的时间排序,全局有序的将数据同步至下游。利用 TiDB Binlog 可…
六城一起 High!TiDB TechDay 2019 巡讲启动
TiDB 的设计灵魂,是让优雅灵活的架构充满无限可能性。从大规模业务场景中稳定使用的 TiDB 2.0 版本,到这一次备受关注的 3.0,我们持续地在倾听、修正、尝试,并获得一次又一次验证。距离年初公布 TiDB 3.0 beta 版本,已经过去了大半年,这期间我们对各方…