Tbase新版本重磅发布:多活能力再上层楼

2020-07-14 10:10:19 浏览数 (1)

2020年7月13日,腾讯自研的分布式HTAP数据库TBase正式发布了开源V2.1.0版本,作为开源后的首次重大版本升级,TBase开源V2.1.0版本提供了许多令人兴奋的新特性,旨在通过更加丰富的维护与管理功能,提升大家的使用体验;同时,致力于更大限度地节省系统运行中的资源消耗,实现单位资源内的性能最大化;此外,TBase面向多中心多活架构的能力也得到了更进一步的增强。

为了方便大家对此次版本升级有更全面的了解,本文将对TBase开源V2.1.0版本的一些新特性及功能优化进行概括性解读。更详细、更技术性的版本升级信息,可前往TBase开源主页(http://github.com/Tencent/TBase,点击底部阅读原文即可跳转)查看相关文档。

TBase:海量HTAP场景应用“利器”

TBase是腾讯数据平台团队在开源PostgreSQL基础上自主研发的企业级分布式HTAP 数据库管理系统,能够同时提供高性能的OLTP和OLAP能力,它:

  • 具备高性能可扩展的分布式事务能力,支持 RC 和 RR 两种隔离级别;
  • 通过安全、管理、审计三权分立体系,提供全方位的数据安全保证机制;
  • 支持高性能分区表,可使得数据检索效率成倍提升;
  • SQL方面兼容 2003 标准、PostgreSQL 语法和常用 Oracle 函数&数据类型、窗口函数等;
  • 提供大小商户数据分离、冷热数据分离等高效的数据治理能力。

集高扩展性、高 SQL 兼容度、完整的分布式事务支持、多级容灾能力及多维度资源隔离等能力于一身的TBase,广泛适用于拥有海量数据、高并发、有在线水平扩展需求、需要高HTAP能力以及分布式事务能力的应用场景。

TBase在腾讯内部的应用最早可追溯到2009年——引入PostgreSQL作为TDW(腾讯分布式数据仓库)的补充,以弥补小数据分析性能不足的问题。2014年,TBase V1版本问世,并在腾讯数据平台团队内部开始使用。迄今为止,已经支撑着微信支付、微信广告、腾讯游戏、云南公安、数字广东、WeBank、PICC集团等腾讯内部和外部客户业务应用的高效平稳运行,涉及了金融、政府、电信、医疗等行业。

2019年11月,腾讯正式宣布将TBase开源,希望通过开源更广泛地助力行业应用,同时借助社区的反馈进一步完善自身。

新特性解读

多活功能增强

多活是当前企业实现数据库系统高可用性的一个重要举措,TBase开源V2.1.0版本中,提供了一系列的新特性,以进一步增强系统的多活功能。

在发布与订阅层面,新增了发布端支持动态增删发布表、订阅端支持添加订阅有存量数据的表、多通道并行订阅等帮助用户更加灵活高效地完成数据同步。此外,新版本中还进一步丰富了发布订阅的错误信息提示,能够指出数据同步失败的表名和原因,便于用户快速定位错误。最后,新版本的异地多活主主复制支持在线DDL,不阻塞业务,灵活的变更发布列表,带来了更好的用户体验。

可维护性增强

TBase开源V2.1.0版本中,备机升主可以使用promote替代旧的stop start方式,同时,新增了GTM reload、插件在线升级、shardmove时节点锁优化等功能,使得业务使用如丝般顺滑。

此外,新版本为GTM增加了GTS设置功能,自研分区表也可以灵活删除。在创建订阅时,新版本支持指定slot名以及对slot名字的变更。这些新功能的加入,意味着用户可在必要时通过人工干预来进行问题的处理,显著提高了系统可维护性。

性能与安全性提升

除了以上两个主要方向,此次版本升级中实现了基于文件的HashAgg,这将进一步提升系统的分析计算性能。通过添加pam-http插件功能,增强了系统登录的安全性。

最后值得一提的是,新版本还增加了支持jsonb类型的数据重分布功能——jsonb在PostgreSQL 9.4版本中首次被引入,可以储存支援GIN索引的JSON资料。TBase开源V2.1.0版本中支持jsonb类型的数据重分布,将为用户带来更好的使用体验。

优化与修复

在上一个版本的基础上,开发团队对TBase开源V2.1.0版本部分功能进行了优化,包括但不限于执行计划、日志、统计信息、社区分区表等多个方面。最终,提升了系统在执行分析计算、系统扩容以及故障恢复等操作时的性能,同时更能节省系统IO、CPU和网络资源消耗,使得单位资源内性能最大化。新版本中还修复了已知的Bug,提升系统的健壮性和可靠性。

经过验证的TBase多活能力

如上文所述,TBase在海量HTAP场景下的实用价值已经在腾讯内部与外部客户的业务应用中得到了广泛验证。

此次版本升级中,多活功能的增强是一个主要方向。而在实际业务场景中,TBase的多活能力也已经得到了体现。下面就为大家分享TBase在PICC集团某业务系统中的多中心多活与高可用架构实践经验。

PICC基于TBase搭建的数据库平台,采用了多中心多活的部署架构。多中心多活架构是继主备部署之后,当前广泛被以金融、保险、政府、能源等行业用户所认可的一种高可用建设方案。

随着业务的发展,传统的主备部署架构可能存在备中心资源投入过大且不能复用的问题,造成资源浪费。此外,当故障或灾难出现时,主备中心之间响应与切换的时间较长,往往难以满足业务连续性目标。

多中心多活的架构,由多地的多个中心同时提供服务,能够更加灵活地进行资源调度利用,大幅度提升了投资回报率。在服务能力方面,当某个中心发生故障或灾难时,系统可以迅速调配其他中心进行接管,实现故障时用户无感知的效果。

TBase采用了无共享(share nothing)的分布式集群架构,架构图如下所示,再加上它在分布式事务、HTAP、扩展性、安全与容灾等多个方面的能力,使其在多中心多活架构的建设方面具有天然的优势。

TBase的物理架构

基于TBase的多中心多活架构,能够极大限度地发挥架构本身在资源协调、灵活调配等方面的优势。除此之外,可实现数据的双向同步,以及更灵活的表级同步粒度;各中心的数据都是本地可写的,且支持本地数据同步到异构数据库,能够带来更强的数据一致性。

另外,在数据备份与恢复方面,TBase为PICC集团的该数据库平台提供了实例备份和基于时间点的恢复功能,系统可以恢复至7天内事务一致性的任意时间点,拥有更加强大的备份与恢复功能,提高了系统容灾能力。

最终,PICC集团基于TBase的数据库平台实现了RPO=0,每年非计划服务中断时间不超过1小时,系统可用性至少达到99.99%的高可用性能力

同时在性能方面也实现了极高的水准,面对复杂的保险业务,TBase分布式数据库提供每秒10000 业务支撑,并且可以通过不断在线水平扩容,满足业务发展对于数据管理的需求。

凭借着在分布式事务、多级容灾、高可扩展性、安全性等方面的卓越能力,以及在多中心多活架构下的优良表现,TBase成为PICC集团相关业务系统24×7不间断,高效、平稳运行的重要基石。

TBase是腾讯TEG星罗数据库三大产品之一,是在开源的PostgreSQL基础上研发的企业级分布式HTAP数据库管理系统。通过单一数据库集群同时为客户提供高一致性的分布式数据库服务和高性能的数据仓库服务,形成一套融合完整的企业级解决方案。大家在数据库领域遇到相关问题时,欢迎随时留言我们。

0 人点赞