大数据&云计算|欧洲航天局行星探索项目核心数据库TBase,开源版本重磅升级


大数据&云计算|欧洲航天局行星探索项目核心数据库TBase,开源版本重磅升级
本文插图

你知道被欧洲航天局作为“Gaia Mission”行星探索项目的核心数据库是哪个吗?没错 , 它是腾讯开源的自研HTAP分布式数据库TBase 。
2020年7月 , 腾讯自研的HTAP分布式数据库TBase正式迎来重大升级 , 发布了最新开源版本2.1.0 。 此次开源发布 , 不但带来了性能的大幅提升 , 还带来了分布式多活的能力 。
TBase是腾讯基于PostgreSQL自主研发的分布式HTAP数据库 , 最早可以追溯到2009年 。 2019年11月 , TBase在腾讯首届Techo开发者大会上宣布开源 , 笔者还保留了去年11月宣布开源时公布的数据 , 概述了TBase的特点 。
大数据&云计算|欧洲航天局行星探索项目核心数据库TBase,开源版本重磅升级
本文插图

TBase开源之后 , 立即受到了开源社区的极大关注和密集反馈 。 截止目前 , TBase在GitHub上的Star数已经超过800个 , Fork数近200个 。
其中 , 欧洲航天局(European Space Agency, 即ESA) 的Gaia Mission项目选择TBase作为其恒星探索项目的核心数据库 , 处理着银河系1%的恒星群的研究数据 , 是真正意义上的海量数据 。 ESA也是TBase开源社区的重要的贡献者 。
TBase在开源社区受到如此关注 , 笔者也怀着一颗慕道之心对最新开源版本进行了一番架构与技术挖掘 , 发现TBase的最新版本确实给我们带来了很多惊喜 。

TBase的物理架构是一个典型的分布式无共享(Share Nothing)数据库 , 示意图如下:
大数据&云计算|欧洲航天局行星探索项目核心数据库TBase,开源版本重磅升级
本文插图

一个典型的TBase数据库集群包含了三种角色:
【大数据&云计算|欧洲航天局行星探索项目核心数据库TBase,开源版本重磅升级】若干个协调节点Coordinator (CN)
若干个数据节点Data Node (DN)
一个全局事务管理器(Global Transaction Manager , 即GTM)
TBase的CN提供对外接口 , 负责数据的分发和查询优化执行等 , CN只保留全局的元数据信息 。 DN是数据节点 , 它们保存实际数据 。 全局数据以分片(Sharding) 的方式分区存储在不同的节点 。 多个CN都提供同样的全局视图 , 写操作可从任何一个CN进行 , 便于实现多主/多活 。
在最新开源的2.1.0版本里 , TBase更是增加了异地多活部署的支持 。 这让分布式数据库从传统的只有一个主中心提供读写能力 , 其他中心节点提供只读能力的部署 , 升级成为跨地南北两套系统都能独立提供读写服务 , 系统内部则通过逻辑复制技术进行双向数据同步 。 这一“宝藏”架构是目前市场上分布式数据库里最领先的解决方案 。

大家都知道 , 优化器是数据库的核心组件 。 腾讯在数据库领域已深耕和打磨了近10年 , 在优化器上有深厚的技术积淀 。 在2.1.0版本中 , TBase将难以优化的subselect 等子查询类型 , 在满足优化条件时转化成不同类型的Join来执行 , 创新性地实现了查询性能千倍、甚至万倍级的提升 。 TBase将自己多年沉淀的技术毫无保留地开源 , 省去了大家自己摸索的过程 。
TBase 2.1.0版另一个广受欢迎的性能提升 , 是CN从DN搜集统计信息流程的大幅优化 , 让复杂查询性能够实现数十倍的提升 。 这些性能加速也会让用户体验“飞”起来 。
全局事务管理器 (GTM) 负责全局事务的划分、调度和并发控制 。 TBase对事务的支持是通过MVCC(Multi-Version Concurrent Control , 即多版本并发控制)来实现的 。 与包括谷歌Spanner在内的诸多分布式数据库相比 , TBase实现了多核可扩展的递增时钟生成服务器、低开销的全局时钟一致性协议 , 以及基于全局时钟的MVCC多版本回收机制 。
这些突破与创新使得TBase作为一款分布式HTAP数据库 , 在提供全局事务的支持下 , 依旧保持了良好的线性扩展能力 , 鱼与熊掌兼得 。

TBase这次开源的最新版本 , 一次性带来了以上五项核心性能的显著提升 , 背后离不开腾讯在数据库领域这十余年的技术实践与积累 , 和融入腾讯人血液的“把每一步都做到极致”的产品思维 。
作为一款国产自研的分布式HTAP数据库 , TBase在性能、可用性、可维护性、安全性等各方面都已具有领先优势 。 它不但支撑着微信支付每天数十亿的交易数据 , 也在腾讯内部应用于多个核心业务 , 同时也正在服务着金融、公安、消防、政务、社保、税务、医疗、科研、能源等诸多行业的客户 。
在服务国内外客户的实践中 , TBase获得了巨大的成长 , 系统集群规模迅速扩展 , 经历了数据量爆炸式增长带来的全方位考验 。 从TBase的开源 , 我们也能看到腾讯全面开放技术栈 , 积极建设开源生态 , 共同推进国产数据库技术进步的诚意 。
【来源:飞总聊IT】
声明:转载此文是出于传递更多信息之目的 。 若有来源标注错误或侵犯了您的合法权益 , 请作者持权属证明与本网联系 , 我们将及时更正、删除 , 谢谢 。邮箱地址:newmedia@xxcb.cn


    推荐阅读