PingCAP马晓宇:TiDB的HTAP之路

HTAP是目前数据库领域比较热门的一个概念,它既能支持OLTP(在线事务处理),又能支持OLAP(在线分析处理),可以涵盖大部分企业级应用的需求,一站式解决他们的问题。本次,小编有幸采访到PingCAP分析型产品负责人马晓宇先生,就TiDB的HTAP之路作出分享。

  ▲PingCAP分析型产品负责人马晓宇

TiDB=X% TP+Y% AP=HTAP

TiDB是一个分布式NewSQL数据库,它支持水平弹性扩展、ACID事务、标准SQL、MySQL语法和MySQL协议,具有数据强一致的高可用特性,是一个不仅适合OLTP场景,还适合OLAP场景的混合数据库。

追溯TiDB的发展史,要从其“上古时代”说起。马晓宇表示,“起初,由于受到Google Spanner/F1的启发,PingCAP开始着手研发TiDB。”彼时国外已经出现了 CockroachDB(蟑螂数据库)等一系列解决TP问题的新兴数据库厂商,但国内研发这类数据库的公司寥寥无几,TiDB的出现填补了这块市场空白。

最开始,TiDB只是解决TP问题,但在实际应用过程中,用户对TiDB数据库的查询功能提出了更高的要求。为此,TiDB调整了自己的数据库执行器,增加了AP的功能拓展。如此以来,TiDB就同时具备TP和AP的功能。

马晓宇透露,“客户一直对‘TiDB适用于100%TP和80%AP场景’中的80%抱有怀疑态度,为什么是80%,不是75%,也不是85%?所以,后来我们就改用了一个比较精确(时髦)的说法:TiDB是一款HTAP数据库。”

TiDB数据库的架构优势

TiDB的整体架构分为TiDB和TiKV两层。TiDB是一层无状态的SQL Layer,对外暴露MySQL网络协议,负责解析用户的SQL语句,生成分布式的Query Plan,翻译成底层Key Value操作发送给TiKV。“通俗的讲,TiDB是XXXXXXXXXXXL版本的MySQL。”马晓宇说道。

  ▲TiDB数据库的原始架构

TiDB的关键立足点在于,它是一个能扩展的关系型数据库。马晓宇补充道,“除了可以替换分库分表MySQL做TP业务,TiDB也非常适合中台场景,可轻松同步MySQL生产库、透明无障碍的跨分片查询,实现数据实时落地、海量存储(TiKV)允许多数据源汇聚等。”

不仅如此,TiDB的代码全部开源。马晓宇表示,“我们本身是一家开源的公司,我们也会参与一些其他的开源社区,公司员工很多都是资深的开源社区的参与者和贡献者,我们希望和其他社区共赢,能有更多的小伙伴参加我们的开源。”

  ▲TiDB 1.0 vs 2.0

据悉,TiDB的更新换代速度非常快。TiDB自在2015年5月GitHub创建,而后于2016年6月发布Beta版,2017年3月发布RC2版本……2019年5月10日,TiDB 3.0.0-rc.1版本正式推出,相比 3.0.0 Beta.1,该版本对系统稳定性、易用性、功能、优化器、统计信息以及执行引擎都做了很多改进。

TiFlash项目正在进行中

2019年之后,PingCAP会有哪些大动作?马晓宇表示,“除了提升产品的性能、完善更多的功能之外,我们还会开展TiFlash项目。”据悉,TiFlash是一个相对独立完整的分析型数据库产品,通过Raft Learner独立同步一套列存,Label进行物理隔离,使AP/TP作业互相无影响,从而解决HTAP系统资源隔离的难题。

在对TP端极低的消耗下,Raft Learner接入配合 MVCC 事务模型可以提供一致性的数据读取,同时又兼顾了资源隔离。当读取数据时,TiFlash发送Raft索引校对请求。当数据同步到读取请求发送时间点的进度时,TiFlash才提供读取。马晓宇透露,“2019年将要发布GA版本,包含TiSpark以及TiDB双入口。”

马晓宇认为,“最开始在业界,HTAP其实是一个marketing slogan。如果一个数据库可以完美的融合TP和AP,那么在设计上来说,这将是一个非常干净漂亮的做法。”他还表示,“未来,HTAP还会有更多待开发的场景,值得我们去探索。”

Image placeholder
symington668
未设置
  71人点赞

没有讨论,发表一下自己的看法吧

推荐文章
分布式时序数据库QTSDB的设计与实现

现有的开源时序数据库influxdb只支持单机运行,在面临大量数据写入时,会出现查询慢,机器负载高,单机容量的限制。为了解决这一问题,360基础架构团队在单机influxdb的基础上,开发了集群版——

数据偏移、分区陷阱……我们这样避开DynamoDB的5个坑

摘要:本文主要介绍作者所在团队在具体业务中所遇到的挑战,基于这些挑战为何最终选型使用AmazonDynamoDB,在实践中遇到了哪些问题以及又是如何解决的。文中不会详细讨论AmazonDynamoDB

DBA职业发展之路:去“IOE”等挑战之下,DBA将何去何从?

开篇随着近些年来,开源、自动化、云化的兴起,DBA职业也正悄然发生一些变化。经常有朋友咨询我,职业发展规划;特别是近期Oracle的大幅裁员之后,针对DBA这一职业未来该如何发展?本文是个人对此问题的

innerHTML与jquery里的html()区别?

innerHTML与jquery里的html()区别?●html()可以设置tbody、tr这些只读标签,而innerHTML在低版本IE下不行;jQuery的html()做了些容错处理,原生的Dom

超8千Star,火遍Github的Python反直觉案例集!

大数据文摘授权转载作者:SatwikKansal译者:暮晨Python,是一个设计优美的解释型高级语言,它提供了很多能让程序员感到舒适的功能特性。但有的时候,Python的一些输出结果对于初学者来说似

Go编程语言教程_1.3. Golang的Hello World

你好,世界!是任何编程语言中的第一个基本程序。让我们使用以下步骤用Go语言编写第一个程序: 首先打开Go编译器。在Go语言中,该程序以.go扩展名保存,它是UTF-8文本文件。 现在,首先在程序中添加

​MySQL 一个让你怀疑人生的hang死现象

1、故障现象某客户反馈,在利用binlog日志的解析内容做基于时间点的恢复时,出现hang死(超过12小时那种),恢复过程无法继续,而且100%重现 基于时间点恢复的实现方式为:使用mysqlbinl

揭秘青云QingCloud第二代云主机性能提升4倍的背后

前不久,青云QingCloud正式推出第二代企业型云主机,其搭载第二代英特尔至强可扩展处理器,采用独享CPU模式,可提供更高更稳定的计算性能,并针对人工智能工作负载进行优化,性能提升400%,满足企业

百度智能监控场景下的HBase实践

作者简介   张洋洋  百度高级研发工程师负责百度智能运维产品(Noah)的分布式时序数据库和通用配额管理平台的设计研发工作,在分布式存储和配额管理方向有广泛的实践经验。干货概览通过百度大规模时序数据

HPC CHINA 2019:面向E级计算时代的HPC/AI协同设计

蓝天飘白云,牧场奶茶香。蒙古大营雄风在,琴声传远方。骑马又滑沙,豪饮河套王。敖包相会歌一曲,笑发少年狂。中国一年一度高性能计算领域的盛会——全国高性能计算学术年会(HPCCHINA2019)在内蒙古呼

记一次JVM FullGC引发严重线上事故的定位、分析、解决过程!

这篇文章给大家聊一次线上生产系统事故的解决经历,其背后代表的是线上生产系统的JVMFullGC可能引发的严重故障。一、业务场景介绍先简单说说线上生产系统的一个背景,因为仅仅是文章作为案例来讲,所以弱化

系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路

来源:http://t.cn/EI9JdBu处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU100%,以及FullGC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且

Kafka 如何优化内存缓冲机制造成的频繁 GC 问题?

目录1、Kafka的客户端缓冲机制2、内存缓冲造成的频繁GC问题3、Kafka设计者实现的缓冲池机制4、总结一下“ 这篇文章,给大家聊一个硬核的技术知识,我们通过Kafka内核源码中的一些设计思想,来

ES 笔记二十六:Term & Phrase Suggester

什么是搜索建议 现代的搜索引擎,一般都会提供Suggestasyoutype的功能 帮助用户在输入搜索的过程中,进行自动补全或者纠错。通过协助用户输入更加精准的关键词,提高后续搜索阶段文档匹配的程度

前端微服务在字节跳动的落地之路

不少前端团队都面临着独石应用的工程巨大、理解困难和合作混乱的种种问题,微前端或许是一种比较好的解决方案,它允许我们为应用加入新功能而不影响整体结构。但同时,我们可能会付出一些代价,例如重复依赖、团

41岁阿里工程师:35岁转管理,真的是必经之路吗?

程序员节,也恰恰是我在阿里工作满3年的时候,借此机会盘点一下自己近3年来的工作,也为自己后续发展把把关。个人的眼界和思考总是有限的,特别是对于研究和技术领域来说,知道得越多,其实就会知道自己有多无知,

用户从0到5亿,中国移动 OneLink 架构演进之路

导语本文根据范良泽老师在2019年10月31日【第十一届中国系统架构师大会(SACC)】现场演讲内容整理而成。范良泽(中移物联网有限公司系统架构专家)2008年毕业于上海交通大学,曾供职于华为、Ope

SACC 2019:云闪付APP架构优化实践之路

中国银联科技事业部架构师 程朝程朝2011年加入中国银联,拥有三年应用开发设计经验,三年MySQL与Redis内核开发设计经验,三年应用架构设计经验;擅长分布式系统设计,有丰富的系统设计与调优经验,现

看完知乎轮子哥的编程之路,我只想说,收下我的膝盖…

vczh,本名陈梓瀚,因知乎的个人信息介绍上写有“专业造轮子”,所以江湖人称“轮子哥”。vczh大学时代就在微软实习,毕业后即加入微软。开始时是在微软上海,后来进入北京的微软亚洲研究院。现已移居美国西

蚂蚁金服研究员玉伯回顾阿里十一年成长之路

注:这是在阿里内部前端大学的一个分享,整理了一份对外的版本,希望分享内容能对你有所帮助。 编者按:本文通过玉伯授权后发布今天跟大家分享下个人成长和带团队的一些感悟。我可能更偏向于写作型或阅读型,很少

对话蒋杰、丁奇,腾讯云数据库之路

此前,笔者曾经就腾讯云数据库战略升级一事写过一篇文章,对腾讯云数据库聚焦“云原生”“自治”“超融合”三大方向背后原因,以及怎样理解腾讯云数据库战略升级与五大新品、三大方向的关系进行了分析。近日,在腾讯

TF中文社区之下,国内云网络的开源之路

北国的冬,似乎比想象中要来得晚一些。立冬前夕,阳光还未褪去金秋的温婉,碧云黄叶,书香意气,充盈在山东大学(青岛校区)的校园里。迎着温暖的阳,和煦的风,中国开源云网络的种子在这里生根发芽——Tungst

中国联通容器化之路及选型标准

“容器”的概念灵感来源于集装箱,有了集装箱,货物不会杂乱无章地堆放在一起,易于管理,也方便运输。容器技术也被称为轻量化虚拟化技术,与集装箱的作用相似。相比前网红虚拟机,容器技术凭借其轻量化、快速部署以

网易云音乐的消息队列改造之路

十年文案老司机,不如网易评论区。网易云音乐自2013年上线后,业务保持了高速增长。云音乐除了提供好听的音乐外,还留下了我们在乐和人上的美好回忆。本文整理自网易云音乐消息队列负责人林德智在近期Apach

从网络接入层到 Service Mesh,蚂蚁金服网络代理的演进之路

本文作者:肖涵(涵畅)上篇文章《 诗和远方:蚂蚁金服ServiceMesh深度实践|QCon实录》中, 介绍了ServiceMesh在蚂蚁金服的落地情况和即将来临的双十一大考,帮助大家了解Servic