TiDB 新特性漫谈:悲观事务
作者:黄东旭 @Ed Huang 关注 TiDB 的朋友大概会注意到,TiDB 在 3.0 中引入了一个实验性的新功能:悲观事务模型。这个功能也是千呼万唤始出来的一个功能。大家知道,发展到今天,TiDB 不仅仅在互联网行业广泛使用,更在一些传统金融行业开花结果,而悲观事…
TiDB 在华泰证券的探索与实践
文章转载自华泰证券数字科技微信公众号,作者华泰证券数字科技。原文链接:https://mp.weixin.qq.com/s/Hp-ZJLdvd3z2w9IJ_32NRw?scene=25#wechat_redirect作者介绍 华泰证券数字科技分布式数据库项目组,主要负责华泰证券分布式数据库系统建设工作,项目组成员均拥有多年数据库从业经历,对数据库运作原理具有较深…
这门分布式 KV 存储系统课程教会了我什么? | 我与 Talent Plan
作者介绍:张艺文,华中科技大学武汉国家光电实验室直博二年级,主要研究方向为基于新型存储设备的 KV 存储。PingCAP Talent Plan 第二期优秀学员。距离我从 PingCAP Talent Plan 结业已经过了三个月,这也算是我第一次与企业或者说工业界近距离接触。与 Pi…
TiDB 新特性漫谈:从 Follower Read 说起
作者:黄东旭 @Ed Huang 很久没有写文章了,正好今天有一些闲暇的时间,写写最近的一些 Update。关注 TiDB 的同学,最近可能注意到 TiKV 这边合并了一个不大不小的 PR #5051(https://github.com/tikv/tikv/pull/5051),支持了一个特性叫做 Follower Read,看到这个功能被合并…
TiDB 混沌工程实践:如何打造健壮的分布式系统?
本文转载自 InfoQ 网站作者: @唐刘 策划:赵钰莹原文地址:https://www.infoq.cn/article/bxGvrb_CxAZD6Wv3fUj8作为一个分布式数据库,TiDB 面临的严重挑战在于如何让用户相信存储在 TiDB 里面的数据是安全的,不会出现丢失,损坏等情况。因此,在 TiDB 研发初期,PingCAP 就引入了混沌…
TiDB User Group 首次线下活动开启,三城“TUG 企业行”等你报名!
在 TiDB 产品的演进过程中,我们意识到,一个成熟的开源产品和活跃的开源社区,不仅倚靠全球开发者的积极贡献,更离不开活跃用户的使用反馈和建议。用户是 TiDB Community 的重要组成部分,因此我们迫切需要为用户搭建一个开放、活跃、独立的学习和交流的平…
TiKV 源码解析系列文章(十二)分布式事务
在之前的文章里,我们已经介绍了 TiKV 的 Service 层、Storage 层。相信大家已经大致清楚,TiKV 的事务相关的代码都位于 Storage 层中。本文将更加深入地讲解 TiKV 的事务算法的原理和实现细节。概述TiKV 采用了 Google Percolator 这篇论文中所述的事务模…
分布式数据库在 ARM 平台探索之路(一) TiDB 集群在 arm 平台编译安装与部署
本文转自公众号 TCTP,作者 TCTP。原文链接:https://mp.weixin.qq.com/s/voEr3WId1LeOr-o4sFptPA?scene=25#wechat_redirect我行在 2018 年开始了基于 ARM 服务器平台的尝试,当前 TDSQL 的冷备数据全部保存在基于 ARM 服务器搭建的 CEPH 存储集群上,运行稳定。在今年贸易战的大背景下,我们数据库团队也尝试将各…
三十分钟成为Contributor | 提升TiDB Parser对MySQL 8.0语法兼容性
作者:谢腾进, 赵一霖TiDB 的一大特性就是和 MySQL 高度兼容,目标是让用户能够无需修改代码即可从 MySQL 迁移至 TiDB。要达成这个目标,需要完成两个提升兼容性的任务,分别是「语法兼容」和「功能行为兼容」。本次活动聚焦于语法兼容,提升 TiDB SQL Pars…
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…