TiKV 源码解析系列文章(八)grpc-rs 的封装与实现
作者:李建俊上一篇《gRPC Server 的初始化和启动流程》为大家介绍了 gRPC Server 的初始化和启动流程,本篇将带大家深入到 grpc-rs 这个库里,查看 RPC 请求是如何被封装和派发的,以及它是怎么和 Rust Future 进行结合的。gRPC C CoregRPC 包括了一系列复…
赋能社区,PingCAP University 培训课程 2.0 重磅升级
经过半年时间的持续打磨,PingCAP University 迎来了一次重大升级,发布「培训课程2.0」。作为世界级的开源项目,经过四年的发展,TiDB 在越来越多的场景里落地,正逐渐被视为行业内的分布式数据库“事实标准”。随着用户社区技术服务体系的建立和优化,TiD…
DM 源码阅读系列文章(七)定制化数据同步功能的实现
作者:王相本文为 DM 源码阅读系列文章的第七篇,在 上篇文章 中我们介绍了 relay log 的实现,主要包括 relay log 目录结构定义、relay log 数据的处理流程、主从切换支持、relay log 的读取等逻辑。本篇文章我们将会对 DM 的定制化数据同步功能进行详细的…
RustCon Asia 实录 | Rust 在国内某视频网站的应用
作者介绍: hawkingrei(王维真),中间件高级开发工程师,开源爱好者,TiDB & TiKV Contributor。 WaySLOG(雪松),Rust 铁粉一枚,专注中间件,bug creator。本文根据 hawkingrei & WaySLOG 在 首届 RustCon Asia 大会 上的演讲整理。今天我们会和大家聊…
DM 源码阅读系列文章(六)relay log 的实现
作者:张学程本文为 DM 源码阅读系列文章的第六篇,在 上篇文章 中我们介绍了 binlog replication 处理单元的实现,对在增量复制过程中 binlog event 的读取、过滤、路由、转换以及执行等逻辑进行了分析。本篇文章我们将会对 relay 数据处理单元的实现进行…
势高,则围广:TiDB 的架构演进哲学
本文根据我司 CEO 刘奇在第 100 期 Infra Meetup 上的演讲整理,预计阅读时间为 30 分钟。大家可能知道我是 PingCAP CEO,但是不知道的是,我也是 PingCAP 的产品经理,应该也是最大的产品经理,是对于产品重大特性具有一票否决权的人。中国有一类产品经理…
TiDB 在平安核心系统的引入及应用
作者:何志勇本文转载自公众号「平安科技数据库产品团队」。2019 年 5 月 9 日,平安科技数据库产品资深工程师何志勇在第十届数据库技术大会 DTCC 上分享了《TiDB 在平安核心系统的引入及应用》,通过对 TiDB 进行 POC 测试,详细解析如何选择适用于金融行…
诊断修复 TiDB Operator 在 K8s 测试中遇到的 Linux 内核问题
作者:张文博Kubernetes(K8s)是一个开源容器编排系统,可自动执行应用程序部署、扩展和管理。它是云原生世界的操作系统。 K8s 或操作系统中的任何缺陷都可能使用户进程存在风险。作为 PingCAP EE(效率工程)团队,我们在 K8s 中测试 TiDB Operator(一个…
TiKV 成功晋级 CNCF 孵化项目
今天,CNCF(Cloud Native Computing Foundation,云原生计算基金会)技术监督委员会(TOC)宣布已经投票决议通过,正式将 TiKV 从沙箱项目晋级至孵化项目。TiKV 是一个开源的分布式事务 Key-Value 数据库,支持跨行 ACID 事务,同时实现了自动水平伸缩、数…
Tedis:基于 TiKV 构建的 NoSQL 数据库
作者介绍 陈东明,饿了么北京技术中心架构组负责人,负责饿了么的产品线架构设计以及饿了么基础架构研发工作。曾任百度架构师,负责百度即时通讯产品的架构设计。具有丰富的大规模系统构 建和基础架构的研发经验,善于复杂业务需求下的大并发、分布式系统设…
TiKV 源码解析系列文章(七)gRPC Server 的初始化和启动流程
作者:屈鹏本篇 TiKV 源码解析将为大家介绍 TiKV 的另一周边组件—— grpc-rs。grpc-rs 是 PingCAP 实现的一个 gRPC 的 Rust 绑定,其 Server/Client 端的代码框架都基于 Future,事件驱动的 EventLoop 被隐藏在了库的内部,所以非常易于使用。本文将以一个…
银行交易系统 TiDB 在线缩容迁移
作者:Dan本文转载自公众号「白噪声OG」。经历了上礼拜漫长的上线周期,终于有时间总结一下期间发生的故事。TiDB 是一款非常优秀的国产分布式 NewSQL 数据库,因其支持水平扩展性、强一致性、高可用性,从 18 年 3 月起已在国内银行的账务、支付类核心系统…
RustCon Asia 实录 | Distributed Actor System in Rust
作者介绍: Zimon Dai,阿里云城市大脑 Rust 开发工程师。 本文根据 Zimon 在首届 RustCon Asia 大会上的演讲整理。大家好,我今天分享的是我们团队在做的 Distributed Actor System。首先我想说一下这个 Talk 「不是」关于哪些内容的,因为很多人看到这个…
What’s New in TiDB 3.0.0-rc.1
作者:段兵2019 年 5 月 10 日,TiDB 3.0.0-rc.1 版本正式推出,该版本对系统稳定性,性能,安全性,易用性等做了较多的改进,接下来逐一介绍。提升系统稳定性众所周知,数据库的查询计划的稳定性至关重要,此版本采用多种优化手段促进查询计划的稳定性得到…
TiDB 3.0.0-rc.1 Release Notes
2019 年 5 月 10 日,TiDB 发布 3.0.0-rc.1 版本,对应的 TiDB Ansible 版本为 3.0.0-rc.1。相比 3.0.0 Beta.1 版本,该版本对系统稳定性、易用性、功能、优化器、统计信息以及执行引擎做了很多改进。TiDBSQL 优化器利用列之间的顺序相关性提升代价估算准确…
DM 源码阅读系列文章(五)Binlog replication 实现
作者:lan本文为 DM 源码阅读系列文章的第五篇。上篇文章 介绍了 dump 和 load 两个数据同步处理单元的设计实现,对核心 interface 实现、数据导入并发模型、数据导入暂停或中断的恢复进行了分析。本篇文章将详细地介绍 DM 核心处理单元 Binlog replication…
TiDB Binlog 组件正式开源,前排开“坑”走起!
TiDB Binlog 组件用于收集 TiDB 的 binlog,并准实时同步给下游,如:TiDB/MySQL等。该组件在功能上类似于 MySQL 的主从复制,会收集各个 TiDB 实例产生的 binlog,并按事务提交的时间排序,全局有序的将数据同步至下游。利用 TiDB Binlog 可以实现数据准实…
Golang Failpoint 的设计与实现
作者:龙恒对于一个大型复杂的系统来说,通常包含多个模块或多个组件构成,模拟各个子系统的故障是测试中必不可少的环节,并且这些故障模拟必须做到无侵入地集成到自动化测试系统中,通过在自动化测试中自动激活这些故障点来模拟故障,并观测最终结果是否符…
DM 源码阅读系列文章(四)dump/load 全量同步的实现
作者:杨非本文为 DM 源码阅读系列文章的第四篇,上篇文章 介绍了数据同步处理单元实现的功能,数据同步流程的运行逻辑以及数据同步处理单元的 interface 设计。本篇文章在此基础上展开,详细介绍 dump 和 load 两个数据同步处理单元的设计实现,重点关注数…
首届 RustCon Asia 圆满落幕,Let's Rust the World!
4 月 23 日,为期 4 天的 RustCon Asia 在北京圆满落幕,300 余位来自中国、美国、加拿大、德国、俄罗斯、印度、澳大利亚等国家和地区的 Rust 爱好者参加了本次大会。作为 Rust 亚洲社区首次「大型网友面基 Party」,本届大会召集了 20 余位海内外顶尖 Rust…