关于sql:TTDSQL的典型应用

8次阅读

共计 2142 个字符,预计需要花费 6 分钟才能阅读完成。

时态信息处理曾经成为许多新一代数据库与信息系统的关键技术,特地是在金融畛域、电子商务、数据仓库、地籍管理系统、土地利用规划系统、地理信息系统中扮演着日益重要的角色。

电子商务、金融业务零碎中,存在大量的支出、收入、余额等数据,并且随着业务的推动,新数据源源不断地产生,这些数据将在对账、审计、用户画像等业务中施展重要作用。通过实现事务时态性能,T-TDSQL 能疾速、精密、实时地获取这些数据。

在互联网金融业务中,对账业务是一个经典的业务。

T-TDSQL 为腾讯的计费对账业务提供了完满的解决方案。

1. 对账业务

互联网金融行业对数据的准确性要求极高,而在互联网环境中,数据不统一或数据谬误时有发生,因而,通过对账来升高账户余额等数据谬误造成的危险非常重要。

在腾讯计费业务中,采纳将账户余额表 (user) 和账户流水表 (water) 按小时 / 天为周期进行比对的形式,来发现账户余额与交易流水的不统一景象,从而及时对谬误交易进行修改。

传统的对账采纳按固定时间段(如分钟 / 小时 / 天)为单位进行对账。如现对 2018 年 4 月 11 日的交易进行对账,首先须要失去 4 月 11 日期初账户余额表和期末账户余额表,以及当天的交易流水表;而后对账户表通过按用户 ID 分组,并计算每个用户的期末余额减去期初余额,记为后果 A,对流水表按用户 ID 分组,并将交易金额分组求和,记为后果 B;最初将每个用户的后果 A 和后果 B 进行比对,如果 A =B,则交易没有问题,否则该用户在当天的交易存在谬误。

对于按固定时间段对账,次要存在以下三个问题:

1. 时效性差:对于谬误交易,不能立刻发现并反馈,提早了以固定时间段为单位的一段时间后能力发现错误。

2. 对账不精准:定位谬误交易较简单。例如:如果用户在一天内产生的多笔交易,其中一笔呈现了谬误,通过按天对账的形式不能间接定位到具体的哪条交易呈现谬误,而只能定位到用户级别,即依然须要人工参加,将该谬误用户的当天交易都确认一遍,能力找到具体的谬误交易。

3. 对账不灵便:按固定时间段对账,如以天为单位,则只能等这一天内的增量数据积淀下来,能力进行对账,如果有跨天对账需要(如昨天下午至今天上午),对账所用数据须要跨多个表能力执行,这可能扭转对账业务的流程。

2. 对账优化

基于本文提出的数据模型和增量计算方法,能够很好的解决按天对账所存在的问题。联合 3.1.2 中的示例,咱们给出在互联网金融的对账业务中,增量计算的理论利用。

T-TDSQL 能够基于增量计算的性能将账户余额表 (user) 和账户流水表 (water) 进行精准比对,进行流水级别的细粒度对账,从而即时发现交易谬误,并能够立刻定位到谬误的那一条交易,省去繁冗的谬误交易定位过程。

优化后的对账的核心思想是:总账算摘要、细账笔笔精。

优化后的对账的成果是:总账快对、细账准确、不受时限、任意对账[1]。

对账步骤 1—总账对账:首先读取给出对账时间段 [s_start,s_stop] 内的所有账户表数据块,对每个数据块内数据采纳与传统对账形式相似的公式来确认账户状况,即进行“总期末余额 - 总期初余额 = 总交易变动”试算[2],总期初余额代表 s_start 时的总余额,总期末余额代表 s_stop 时的总余额,总交易变动代表每块内账户对应产生的流水,如果有数据块内的总账不平,意味着有细账谬误,因而要进行步骤 2、3 所形容的精准对账。

对账步骤 2—精准对账—对账过程:执行如下 SQL,将账户余额块和对应账户流水块进行“快照差连贯”,返回后果集中每条记录将含有{交易前余额,交易后余额,交易变动}。

对账步骤 3—精准对账—精准之意:对步骤 2 后果里的每一条返回记录进行“交易后余额 - 交易前余额 = 交易变动”的试算[3](After-Before=Change),即可确认交易是否有误。如果有不满足此等式的状况存在,即为谬误交易。

谬误交易次要分为账户表谬误和流水表谬误两种。例如,上图中,后果集中第 2 条元组,不满足试算公式,表明流水 ID 为 2 的交易进行了谬误的帐户余额更新或流水记录的交易变动值出错。后果集中的第 4 条元组,Change 字段的值为 NULL,代表该条交易的流水缺失。通过上图中的表,咱们对各种谬误状况进行总结,这些谬误,都须要在对账过程中进行报警。

3. 无效工夫的时态类利用

基于 T -TDSQL 的全时态核心技术,本次分享还从双时态的角度对典型利用做了介绍。

4. 数据安全类利用

基于历史状态查问这一个性,T-TDSQL 零碎在数据勘误、历史追踪等方面,提供灵便弱小的数据安全保障性能,能够大大简化和放慢审计、对账等业务。

查问时间段内插入的数据,用于数据统计和追踪,如统计新开账户、异样记录何时被增加等。

查问时间段内删除的数据,在平安保障和数据统计等方面作用显著,如复原误删的数据、统计销户人数等。

查问时间段内更新的数据,可能追踪数据异样的产生工夫和产生异样前的数据,用于数据异样的修复。

综合查问所有状态的历史态数据,在数据重演方面,能够辅助灾后复原,或用于线下演练;数据统计方面,因反对任意时空节点的数据计算,对对账等业务大有裨益;平安保障方面,简化了谬误数据、误删数据的追踪和复原。

除此之外,基于全时态态数据,实现数据重演、更有价值的数据分析和开掘、应用 AI 技术对系统主动调优等成为可能。

正文完
 0