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 架构实现了:
可实时更新的列存。与传统的列存不同,TiDB 实现了一套可实时根据主键更新的列存引擎,并使用了与 TiKV 的 LSM 不同的 DeltaTree 设计,避免了范围读取下 LSM 多路归并负担过重的问题。
通过以 Raft Learner 角色加入 Multi-Raft 副本体系,以异步的方式进行从行到列的数据复制,以求尽最小化对在线交易业务的影响。同时,虽然是异步复制,通过共识协议的 Learner Read 算法,TiFlash 仍然可以提供一致性的读取效果。
通过与行存一致的代价估算模型,TiDB 可以智能选取行存,列存或者混合的方式响应查询,以期获得最佳性能。
以上是 TiDB HTAP 架构图,与以往不同的是,新的架构下增加了 TiFlash 列式存储节点。通过 Raft 共识算法进行复制,每个 Region 可以拥有行存和列存两种副本,而用户查询会根据统计信息和代价估算自动选择副本类型。
TiDB 创新性地利用 Raft 共识协议同时实现了行列混合,负载隔离,以及异步复制下的一致性读取,为 HTAP 架构设计提供了新的思路。PingCAP 联合创始人、CTO 黄东旭表示,我们相信,HTAP 将会随着业务对实时决策的需求不断增加而越来越普及,与此同时,希望我们的探索可以启发其他数据库开发者。
TiDB 目前已经有近 1000 家海内外头部公司用户将其用于线上生产环境,涉及互联网、游戏、银行、保险、证券、航空、制造业、电信、新零售、政府等多个行业。包括国内的光大银行、北京银行、微众银行、美团点评、中通快递、知乎、爱奇艺等;海外用户如日本最大的支付公司 Paypay,视频公司 U-Next, 越南的独角兽 VNG,以及支付公司 ZaloPay,印度的 Zomato,BookMyShow,东南亚最大的电商 Shopee,法国视频互联网公司 Dailymotion 等,目前已经成为业内的分布式数据库事实标准。
PingCAP 开源分布式数据库 TiDB 论文入选 VLDB相关推荐
- 分布式数据库TiDB是如何结合OLTP和OLAP的?
TiDB是一款开源.云原生.MySQL兼容的分布式数据库,可以处理混合事务和分析处理(HTAP)工作负载.它是"NEWSQL"关系数据库的一员,被设计为方便大规模部署.也许有人想知 ...
- Zabbix+分布式数据库TiDB实现分布式数据库监控
Zabbix+分布式数据库TiDB实现分布式数据库监控 一.Tidb的简介 1.什么是TiDB 2.TiDB 整体架构 2.主要模块简介 1) TiDB Server 2) PD Server 3) ...
- 最火的HTAP数据库 京东云新一代分布式数据库TiDB架构揭秘
作者丨京东智联云数据库团队 2020年伊始,一场突如其来的新冠疫情, 席卷了华夏大地.为了抵抗疫情,全国人民众志成城,共同抗疫.疫情期间,各行各业受到了巨大影响,多数线下服务和活动基本陷入了停滞状态. ...
- 开源分布式数据库中间件
转自:https://www.csdn.net/article/2015-07-16/2825228 MyCat:开源分布式数据库中间件 为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性 ...
- 开源分布式数据库中间件MyCat架构简介(一)——基于MyCat的分库分表,读写分离,水平切分和垂直切分实现原理
目录 前言 开源分布式数据库中间件MyCat架构简介--MyCat源起 一.数据库切分概述:OLTP和OLAP 二.关系型数据库和NoSQL数据库 三.关系型数据库和NoSQL数据库的特点及优缺点 1 ...
- 开源分布式数据库中间件MyCat架构简介(二)——基于MyCat的分库分表,读写分离,水平切分和垂直切分实现原理
目录 前言 基于MyCat的分库分表,读写分离,水平切分和垂直切分实现原理 一.关于Mycat 二.Mycat 实现原理 三.MyCat 应用场景 四.MyCat 未来展望 五.Mycat 中相关概念 ...
- 论分布式数据库TiDB架构的“存”与“算”
作者:何朝洋 原文来源: https://tidb.net/blog/57ed0da1 在云计算基础设施IaaS服务中,"存"与"算"的分界是清晰的,客户会分别 ...
- 开源分布式数据库 TiKV 入选 CNCF 云原生项目!
云原生计算基金会(CNCF)今天宣布接纳TiKV开源分布式事务键值数据库作为CNCF沙箱的早期发展云原生项目. TiKV采用Rust构建,由Raft(通过etcd)驱动,并受到Google Spann ...
- 腾讯TDSQL全时态数据库系统论文入选VLDB
当地时间2019年8月26至30日,VLDB 2019会议在美国加利福尼亚召开,腾讯分布式数据库TDSQL与中国人民大学最新联合研究成果被VLDB 2019接收并将通过长文形式发表.VLDB是国际数据 ...
最新文章
- 什么叫组网_5G NSA和SA是什么?有什么不同?
- MyBatis学习笔记(六)动态sql
- kimsoft-jscalendar 简介
- wxWidgets:字体编码
- php后台管理员登录密码错误,如果后台管理员的密码错误,我该怎么办,还有两种找回密码的方法...
- Visio—如何画虚线?
- python表情识别程序_python 实现表情识别
- ZZULIOJ 1047: 对数表,Java
- java tapestry_Tapestry简介- 转载 (转自java-cn)
- Django单元测试类和测试数据回滚
- AD9361使用概述
- struct模块使用
- 你会爬虫吗,我来教你爬海关蜀黍
- 天龙八部哪个服务器里面人数最多的,天龙八部怀旧服:不删档各大门派人数出来了!你猜哪个门派人多?...
- SecureCRT8.0X 高亮配色方案
- linux系统访问NAS网络存储
- 来自一位普通博导带学生的所做所思:博士该这么读!
- 【STM32F429的DSP教程】第9章 Matlab的串口通信实现
- C/C++编程学习 - 第20周 ④ 排序
- C语言编程图书销售系统,简单的书店图书销售系统求指点