为数据赋能:腾讯TDSQL分布式金融级数据库前沿技术 - 云+社区 - 腾讯云

TDSQL是一个稳定运行多年的分布式数据库,支撑了腾讯和金融单位的核心业务。T-TDSQL是其时态数据库,解决业务数据一致性、历史态数据管理和实时计算等问题。它通过全态数据模型和双时态数据模型,提供数据全态(当前态、历史态、过渡态)管理,并应用于金融对账、数据安全和数据分析等领域。T-TDSQL核心技术包括数据模型定义、历史数据转储和一致性快照点构建,实现高效的数据时态处理。
摘要由CSDN通过智能技术生成

一、 TDSQL概述

TDSQL是一个稳定运行了十年之久的分布式数据库,不仅支撑了腾讯公司的计费业务,而且还在微众银行等金融单位的核心业务系统稳定、高效地运行了四年之久。这几年,TDSQL在技术层面不断进步,研发了很多新特性,诸如多级分区、热点更新、隐含主键、分布式事务等,不仅有力的支撑了事务型的数据库应用,而且在体系结构上也朝Spanner架构上迈进,是一个名副其实的NewSQL系统。

TDSQL分布式事务处理技术,有了长足进步,不仅表现在基于XA实现了2PC以支持分布式事务的原子提交,而且在MVCC技术的基础上,做了创新,使得TDSQL的事务处理技术基于原创技术而不断发展。

二、原创技术的出发点

TDSQL的原创技术,不是为技术而技术,而是基于业务的需求,为解决业务问题而进行的创新。

腾讯公司的计费业务系统,是世界上领先的金融云计费业务系统。这个系统包括SAAS、PAAS、IAAS三个层面。在SAAS层面,包括米大师、云商店、TDSQL等系统。

TDSQL托管账户近280亿,米大师依托TDSQL进行金融交易,腾讯充值及其相关合作伙伴的日流水量超过150亿条,每天处理的交易量超过100亿笔。金融数据在TDSQL数据库中进行结算、对账、审计、风控数据分析、构建用户画像等业务。如王者荣耀游戏点券的对账业务、用户账户消费充值变化审计与风控业务等。

要进行诸如对账、审计等业务,数据来源有两部分。一部分数据来源是从不同系统(关系数据库或NoSQL系统)的日志数据中来,称为流水日志。但某个这样的系统每天的日志流水数据近百G且从趋势看增量数据递增很快。另外,有些数据是在TDSQL中按时间分表,需在一段时间结束后对按时间分表的数据利用流水日志进行对账计算。

对账主要是解决几种异常情况:

  1. 系统存在BUG,或者在故障时,未表现出预期的情况。这可能导致发货成功扣款不成功,或者扣款成功未发货的情况。如腾讯视频VIP管理系统的充值、发货。

  2. 规避黑客/内部风险。例如不法人员绕过业务系统去给自己充值等舞弊行为。

这样的对账业务种类很多,不同的应用其日志流水格式不完全相同,TDSQL托管的账户需要定时对多级数千种业务和账户做数据一致性对账检验。

从技术的角度看,存在四个问题:

  1. 应用开发复杂:使用业务日志,需要业务系统不断产生日志信息,然后耗费计算资源对不同的日志格式进行解析,把日志信息存储到分析系统。由此带来了开发的负担和资源的浪费。

  2. 数据逻辑割裂:TDSQL中按时间分表,只能按确定的时间段进行结算,不能灵活、方便的计算。如计算任意时间段内的数据,按时间段的分表在物理上割裂了数据按时间的逻辑连续特性,需要指定若干个特定的分表才能进行计算。

  3. 实时特性丢失:如上两个问题,隐含地,意味着进行计算的数据需要导入到一个新的分析系统进行计算,导出/导入数据的过程也带来了资源和时间的消耗、使得分析系统难以具备实时计算特性。

  4. 数据管理复杂:另外,日志等信息,是历史态数据,需要长期保存。在腾讯公司每日对不同格式的、超过150亿条流水日志进行生成、存储、解析与管理等,这成为一个巨大的挑战。

现代的数据库系统只保留有数据的当前值,而因存储成本等原因,历史态数据被丢弃。而数据作为重要的资产࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值