乐趣区

关于tidb:PingCAP-开源分布式数据库-TiDB-论文入选-VLDB

8 月 31 日 – 9 月 4 日,第 46 届 VLDB 会议以线上直播的形式举办(原定于日本东京召开),PingCAP 团队的论文《TiDB: A Raft-based HTAP Database》入选 VLDB 2020,成为业界第一篇 Real-time HTAP 分布式数据库工业实现的论文。PingCAP 联结创始人、CTO 黄东旭获邀在会上进行演讲,分享对于论文的深度解读及在线答疑。

VLDB(International Conference on Very Large Databases)是数据库畛域顶尖的三大学术会议之一,于 1975 年在美国成立,由非盈利性机构 VLDB 基金会资助和经营,以在寰球遍及数据库技术钻研和交换作为使命。

在本篇论文中,PingCAP 重点介绍了其研发的 TiDB 作为一款定位于在线事务处理和在线实时剖析(HTAP)混合负载交融型分布式数据库产品的零碎架构和外围个性。TiDB 受 Google 公布的 Spanner / F1 论文,以及 2014 年 Stanford 工业级分布式一致性协定算法 Raft 论文的启发。通过 5 年多的产品研发、生产环境上线验证,获得了一系列成绩,此次被 VLDB 2020 收录也是对学术界的反哺。

HTAP(Hybrid Transactional  / Analytical Processing)是近些年为数据库界所关注的钻研方向。HTAP 数据库须要可能同时兼具解决交易以及剖析两种作业的能力,这使得交易数据可能被实时剖析,大大缩短决策的周期,同时大幅简化平台架构。

然而 HTAP 能力并不容易构建:交易业务须要行存,剖析业务仰赖列存,且列存往往难于实时更新。以往的剖析平台往往须要将数据从行存的交易库向列存的剖析库进行数据迁徙,这使得咱们的数据分析往往基于历史数据。现今越来越多的用户不再满足于基于对历史数据进行剖析,而是心愿能用更陈腐的数据反对决策。例如生鲜零售业,基于更陈腐的数据进行物流调度能够大大减少货损。

技术上来说,Real-time HTAP 并不容易实现。首先,数据库须要同时具备行存和列存两种能力;并且列存须要能实时反映行存的变更;最初,两种业务须要能相互之间无烦扰运行。

TiDB 最新版本中引入了专为 Real-time HTAP 场景设计的以 Raft 为根底的行列混合体系。本论文也是以这个架构为主轴来论述其独特之处。

TiDB 为反对 Real-time HTAP 架构实现了:

1. 可实时更新的列存。与传统的列存不同,TiDB 实现了一套可实时依据主键更新的列存引擎,并应用了与 TiKV 的 LSM 不同的 DeltaTree 设计,防止了范畴读取下 LSM 多路归并负担过重的问题。

2. 通过以 Raft Learner 角色退出 Multi-Raft 正本体系,以异步的形式进行从行到列的数据复制,以求尽最小化对在线交易业务的影响。同时,尽管是异步复制,通过共识协定的 Learner Read 算法,TiFlash 依然能够提供一致性的读取成果。

3. 通过与行存统一的代价估算模型,TiDB 能够智能选取行存,列存或者混合的形式响应查问,以期获得最佳性能。

以上是 TiDB HTAP 架构图,与以往不同的是,新的架构下减少了 TiFlash 列式存储节点。通过 Raft 共识算法进行复制,每个 Region 能够领有行存和列存两种正本,而用户查问会依据统计信息和代价估算主动抉择正本类型。

TiDB 创新性地利用 Raft 共识协定同时实现了行列混合,负载隔离,以及异步复制下的一致性读取,为 HTAP 架构设计提供了新的思路。PingCAP 联结创始人、CTO 黄东旭示意,咱们置信,HTAP 将会随着业务对实时决策的需要一直减少而越来越遍及,与此同时,心愿咱们的摸索能够启发其余数据库开发者。

TiDB 目前曾经有近 1000 家海内外头部公司用户将其用于线上生产环境,波及互联网、游戏、银行、保险、证券、航空、制造业、电信、新批发、政府等多个行业。包含国内的光大银行、北京银行、微众银行、美团点评、中通快递、知乎、爱奇艺等;海内用户如日本最大的领取公司 Paypay,视频公司 U-Next,越南的独角兽 VNG,以及领取公司 ZaloPay,印度的 Zomato,BookMyShow,东南亚最大的电商 Shopee,法国视频互联网公司 Dailymotion 等,目前曾经成为业内的分布式数据库事实标准。

???? 本论文于 2020 年八月的 PVLDB, Volume 13, Issue 12 登载。点击【浏览原文】立刻下载论文。

退出移动版