微信号:pingcap2015

介绍:PingCAP 专注于新型分布式数据库的研发,是知名开源数据库 TiDB (Github 4100 stars) 背后的团队,研发总部在北京,是国内第一家开源的新型分布式 NewSQL 数据库公司,也是国内领先的大数据技术和解决方案提供商.

这可能是近期关于 TiKV 最深入的一次分享 | Meetup 回顾

2018-09-05 18:36 张金鹏

在上周六举办的 Infra Meetup No.73 上,我司 TiKV 核心开发工程师张金鹏老师分享了 TiKV 的原理与正在开发的新功能,整整讲满了 100 分钟这可能是近期关于 TiKV 最深入的一次分享交流了吧~haha),结束后现场的小伙伴三五成群,意犹未尽地聚在一起讨论交流,钻研精神可嘉~


以下是现场视频&文字回顾,enjoy!


场地分分钟坐满……

分享结束后还在现场分拨讨论的小伙伴们


视频回顾


金鹏老师首先介绍了 TiKV 中的几个概念,包括 Region、Peer 和 ts,其中 Region 代表一段连续的数据,Peer 是 Region 的一个副本,ts 表示时间戳。然后从宏观的角度分析了数据在 TiKV 之间是如何分布的,以及如何进行 balance,并介绍了 TiKV 的分层结构,分析了读和写请求在 TiKV 内部的各个层之间是怎样流转的。

接着,他重点介绍了 TiKV 的几个核心组件,包括 Multi-raft、RocksDB、分布式事务、Coprocessor、GC 和调度。其中 Multi-raft 涉及到 region 的 split 和 merge,以及 leader lease、pre-vote、learner 等概念;RocksDB 相关的内容包括 column family、delete files in range、ingest sst files、多线程 compaction、sub-compaction 等。(课代表温馨提示:金鹏老师对这些概念的讲解非常细致深入,也耐心解答了现场小伙伴的提问  对这些名词不太熟悉的朋友赶紧点开视频跳到相关章节观看吧!)

随后,他举例讲解了 TiDB 的表数据是如何映射成 KV 数据,并详细介绍了 TiKV 中的 MVCC 机制,以及是如何支持分布式事务的。

GC 模块主要负载清理掉过期的数据,同时 TiKV 针对 drop/truncate table/index 进行了优化,使用 RocksDB 的 delete files in range 删除过期的数据,达到快速回收空间的效果。PD 通过 TiKV 上报的读写流量,进行动态调度,使集群中各个 TiKV 节点的负载达到均衡,充分利用集群的资源。

最后金鹏老师透露,TiKV 还在不断地完善中,多个新功能正在开发中,包括消除系统瓶颈的多线程 raftstore 多线程 apply 功能,通过分离 value 来减少写放大的 TitanDB engine,加速垃圾数据回收的分布式 GC 系统,以及正在实现 raft 的 Joint Consensus 功能。

欢迎大家到 TiKV Repo 逛一逛,捞一捞有趣的 issues,或者参考 这篇文章 练练手,为 TiKV 添加 built-in 函数。P.S TiKV 在 8 月 28 日正式成为 CNCF 托管项目,源码地址变更为 github.com/tikv/tikv/ 。

* 后台回复“0901”获取 PPT 链接


PingCAP Infra Meetup


作为一个基础架构领域的前沿技术公司,PingCAP 希望能为国内真正关注技术本身的 Hackers 打造一个自由分享的平台。自 2016 年 3 月 5 日开始,我们定期在周六的上午举办 Infra Meetup,邀请业内大牛与大家深度探讨基础架构领域的前瞻性技术思考与经验。在这里,我们希望提供一个高水准的前沿技术讨论空间,让大家真正感受到自由的开源精神魅力。

 
PingCAP 更多文章 Ti 星球 8 月电台 PingCAP 2019 校园招聘全面启动 TiKV 成为 CNCF 托管项目——架构原理了解一下?| Meetup 预告 TiDB 源码阅读系列文章(十七)DDL 源码解析 【详解】What’s New in TiDB 2.1 RC1
猜您喜欢 cp与scp 发声 | 向《精益数据分析》作者Alistair Croll提问! 这个社会怎么了?你被尊重了吗? 4个强大的Linux服务器监控工具 灵雀云荣获至顶网2017凌云奖,“开源贡献” 受瞩目