TiDB 用户问答论坛上线:Ask TUG for Help!

2019-08-22
阅读 2 分钟
2.4k
自 TiDB User Group(TUG)成立以来,小伙伴们都兴致勃勃的想要“攒点新活动”,不得不说,大家的行动力惊人,上周启动的线下活动 “TUG 企业行” 是第一波行动,今天又有第二波惊喜:TiDB 用户问答论坛 asktug.com 上线! 欢迎大家来“灌水”讨论,一起探索 TiDB 的正确使用姿势

TiDB 新特性漫谈:悲观事务

2019-08-21
阅读 6 分钟
3.4k
大家知道,发展到今天,TiDB 不仅仅在互联网行业广泛使用,更在一些传统金融行业开花结果,而悲观事务是在多数金融场景不可或缺的一个特性。另外事务作为一个关系型数据库的核心功能,任何在事务模型上的改进都会影响无数的应用,而且在一个分布式系统上如何漂亮的实现悲观事务模型,是一个很有挑战的工作,所以今天我们...

TiDB 在华泰证券的探索与实践

2019-08-20
阅读 8 分钟
1.9k
作者介绍华泰证券数字科技分布式数据库项目组,主要负责华泰证券分布式数据库系统建设工作,项目组成员均拥有多年数据库从业经历,对数据库运作原理具有较深的研究,并积累了大量实战经验。

这门分布式 KV 存储系统课程教会了我什么? | 我与 Talent Plan

2019-08-20
阅读 2 分钟
1.9k
作者介绍:张艺文,华中科技大学武汉国家光电实验室直博二年级,主要研究方向为基于新型存储设备的 KV 存储。PingCAP Talent Plan 第二期优秀学员。

TiDB 新特性漫谈:从 Follower Read 说起

2019-08-15
阅读 4 分钟
1.8k
很久没有写文章了,正好今天有一些闲暇的时间,写写最近的一些 Update。关注 TiDB 的同学,最近可能注意到 TiKV 这边合并了一个不大不小的 PR #5051 ,支持了一个特性叫做 Follower Read,看到这个功能被合并进主干我确实有点百感交集,还发了条朋友圈庆祝,因为我实在很喜欢这个特性,可能有同学不太理解,今天就写一写...

TiDB 混沌工程实践:如何打造健壮的分布式系统?

2019-08-14
阅读 7 分钟
2k
本文转载自 InfoQ 网站 作者:唐刘 策划:赵钰莹 原文链接:[链接] 作为一个分布式数据库,TiDB 面临的严重挑战在于如何让用户相信存储在 TiDB 里面的数据是安全的,不会出现丢失,损坏等情况。因此,在 TiDB 研发初期,PingCAP 就引入了混沌工程,来保证 TiDB 在各种极端情况下面的稳定性。本文整理自 ArchSummit 全球...

TiKV 源码解析系列文章(十二)分布式事务

2019-08-13
阅读 8 分钟
2.2k
在之前的文章里,我们已经介绍了 TiKV 的 Service 层、Storage 层。相信大家已经大致清楚,TiKV 的事务相关的代码都位于 Storage 层中。本文将更加深入地讲解 TiKV 的事务算法的原理和实现细节。

分布式数据库在 ARM 平台探索之路(一) TiDB 集群在 arm 平台编译安装与部署

2019-08-09
阅读 17 分钟
2.7k
我行在 2018 年开始了基于 ARM 服务器平台的尝试,当前 TDSQL 的冷备数据全部保存在基于 ARM 服务器搭建的 CEPH 存储集群上,运行稳定。在今年贸易战的大背景下,我们数据库团队也尝试将各个数据库产品放到 ARM 平台上去编译并运行起来,为我行在基础架构层面的进一步国产化打下基础。

三十分钟成为 Contributor | 提升 TiDB Parser 对 MySQL 8.0 语法的兼容性

2019-08-09
阅读 10 分钟
2.1k
TiDB 的一大特性就是和 MySQL 高度兼容,目标是让用户能够无需修改代码即可从 MySQL 迁移至 TiDB。要达成这个目标,需要完成两个提升兼容性的任务,分别是「语法兼容」和「功能行为兼容」。

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

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

我们是如何设计 Golang & SQL 引擎课程的? | Talent Plan 背后的故事

2019-08-06
阅读 3 分钟
2.3k
在 上篇文章 中我们介绍了 PingCAP Talent Plan - TiKV 方向的课程内容,本文将从课程设计的角度和大家聊一聊 TiDB 方向的课程内容,包括课程设计的逻辑,和课程学习过程中常见的问题及解答等。

微众银行数据库架构演进及 TiDB 实践经验

2019-08-02
阅读 9 分钟
4.6k
作者介绍:胡盼盼,微众银行数据平台室室经理。硕士毕业于华中科技大学,毕业后加入腾讯,任高级工程师,从事分布式存储与云数据库相关的研发与运营工作;2014 年加入微众银行,负责微众银行的数据库平台的建设与运营。 黄蔚,微众银行数据库平台室高级 DBA。2011 年加入腾讯互动娱乐运营部,担任英雄联盟在内的多款海量...

云上 TiDB 管理「利器」,TiDB Operator 1.0 GA 发布

2019-07-31
阅读 2 分钟
2.2k
去年八月份,我们 开源了 TiDB Operator 项目,以实现 TiDB 在 Kubernetes 上的部署和运维。开源后到现在的近一年内,我们一方面基于用户反馈不断打磨项目的易用性,另一方面通过严苛的稳定性测试持续提升可靠性。今天,我们自豪地宣布 TiDB Operator 1.0 GA 正式发布!

TiKV 源码解析系列文章(十一)Storage - 事务控制层

2019-07-30
阅读 7 分钟
2.9k
TiKV 是一个强一致的支持事务的分布式 KV 存储。TiKV 通过 raft 来保证多副本之间的强一致,事务这块 TiKV 参考了 Google 的 Percolator 事务模型,并进行了一些优化。

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

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

PingCAP 唐刘:如何利用混沌工程打造健壮的分布式系统?

2019-07-23
阅读 4 分钟
1.5k
作为混沌工程的重要推动者,Netflix 在混沌工程手册([链接])中谈到,在生产环境进行软件验证的想法通常会被嘲笑。过去,这句话基本都被翻译为“我们在发布之前不打算完善地验证这些代码”。在经典的测试链路中,寻找软件缺陷的普遍信条是离生产环境越远越好。例如,在单元测试中发现缺陷要比在集成测试中发现更好,这里...

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

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

我们是如何设计 Rust & 分布式存储教程的? | Talent Plan 背后的故事

2019-07-17
阅读 4 分钟
4.9k
许多人眼中的 PingCAP Talent Plan 可能就是 github.com/pingcap/talent-plan 这个项目,但从内容角度来说并不完整,这个 Repo 只是线上课程的内容,我们还有与其配套的线下课程。本文将从课程设计的角度和大家聊一聊 PingCAP Talent Plan(TiKV 方向)课程,包括课程设计的逻辑、课程设计中遇到的困难,以及大家在学习...

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

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

TiKV 源码解析系列文章(十)Snapshot 的发送和接收

2019-07-10
阅读 6 分钟
1.9k
TiKV 使用 Raft 算法来提供高可用且具有强一致性的存储服务。在 Raft 中,Snapshot 指的是整个 State Machine 数据的一份快照,大体上有以下这几种情况需要用到 Snapshot:

TiKV 源码解析系列文章(九)Service 层处理流程解析

2019-07-08
阅读 5 分钟
1.7k
之前的 TiKV 源码解析系列文章介绍了 TiKV 依赖的周边库,从本篇文章开始,我们将开始介绍 TiKV 自身的代码。本文重点介绍 TiKV 最外面的一层——Service 层。

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

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

暑期特别企划 | 快来接收 PingCAP Talent Plan 的小惊喜!

2019-07-03
阅读 4 分钟
2.2k
PingCAP Talent Plan 学习通道自开通以来,收获了海内外小伙伴的密切关注,有 100 余名小伙伴参与到线上课程的学习中,第二期线下课程也于 5 月中旬圆满落幕。结合大家的意见,我们对 Talent Plan 的课程做了一些优化,并推出 Talent Plan 暑期特别企划,线上课程和线下课程都增加了一些新的元素~大家快来接收这一波“小...

TiDB 3.0 GA Release Notes

2019-06-29
阅读 6 分钟
1.9k
2019 年 6 月 28 日,TiDB 发布 3.0 GA 版本,对应的 TiDB Ansible 版本为 3.0.0。相比于 V2.1,V3.0.0 版本在以下方面有重要改进:

TiDB 3.0 GA,稳定性和性能大幅提升

2019-06-29
阅读 4 分钟
1.7k
TiDB 是 PingCAP 自主研发的开源分布式关系型数据库,具备商业级数据库的数据可靠性,可用性,安全性等特性,支持在线弹性水平扩展,兼容 MySQL 协议及生态,创新性实现 OLTP 及 OLAP 融合。

分布式数据库 TiDB 在知乎万亿量级业务数据下的实践和挑战

2019-06-27
阅读 10 分钟
4k
作者:孙晓光,知乎搜索后端负责人,目前承担知乎搜索后端架构设计以及工程团队的管理工作。曾多年从事私有云相关产品开发工作关注云原生技术,TiKV 项目 Committer。

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

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

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

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

TiDB TechDay 巡讲启动!六城一起 High~

2019-06-13
阅读 2 分钟
1.4k
我感到自豪,因为我取得了第一个胜利,我毫不怀疑胜利是会接踵而至的。我做到了第一件做不到的事情,我也可以接着做下去。——王小波《我在荒岛上迎接黎明》

TiKV 源码解析系列文章(八)grpc-rs 的封装与实现

2019-06-13
阅读 7 分钟
1.4k
上一篇《gRPC Server 的初始化和启动流程》为大家介绍了 gRPC Server 的初始化和启动流程,本篇将带大家深入到 grpc-rs 这个库里,查看 RPC 请求是如何被封装和派发的,以及它是怎么和 Rust Future 进行结合的。