对账步骤3—精准对账—精准之意:对步骤2结果里的每一条返回记录进行“交易后余额-交易前余额=交易变动”的试算[3](After-Before=Change),即可确认交易是否有误。如果有不满足此等式的情况存在,即为错误交易。
错误交易主要分为账户表错误和流水表错误两种。例如,图13中,结果集中第2条元组,不满足试算公式,表明流水ID为2的交易进行了错误的帐户余额更新或流水记录的交易变动值出错。结果集中的第4条元组,Change字段的值为NULL,代表该条交易的流水缺失。通过下表,我们对各种错误情况进行总结,这些错误,都需要在对账过程中进行报警。
表2 精准对账错误对照表
Before After Change 对账结果M1 M2 M2-M1 正确
M1 M2 NULL 流水缺失
M1 M2 (M2-M1)’ 流水记录有误
NULL NULL M3 流水误增
M1 M2’ M2-M1 账户表更新有误
M1 NULL M2-M1 账户表没有更新
NULL M2 NULL 账户表误增元组
安全
T-TDSQL中有一个逻辑结构“UNDO SEGMENT”,用于撤销数据即存放反转DML语句结果所需的信息,只要某个事务修改了数据,那么更新前的原有数据就会被写入一个撤销段。
而T-TDSQL实现了全时态数据管理,基于历史态和存于“UNDO SEGMENT”的过渡态数据,实现了历史上任何时间点上的数据闪回功能。
联机闪回T-TDSQL提供联机的数据闪回,可以查询过去某个时间段的数据库状态。
而读取数据库的过去某个时间点的数据状态(历史态被储存而不是被清理),依据的是4.1.1节提及的三种快照读操作。这是闪回实现的原理。
基于此原理,实现了多种类型的联机闪回功能,包括:闪回查询,闪回删除,闪回归档。
闪回查询:可以查询过去某个时间段的数据库状态,可将某个表回退到过去某个时间点。
闪回删除:闪回删除可以将一个已经被Drop的表还原。相应的索引也会被还原(索引的还原是通过重建的方式进行)。
闪回归档:闪回数据归档可使表具有回退到过去任何时间点。
业务分析时态数据的双时态特性、全态属性、LineAge特性,以及在数据项上可识别发生的操作的特性等,为数据项赋予了5W的潜能。
5W是指:
原因(何因Why):数据挖掘和分析的目标。
对象(何事What):数据项上执行了什么操作,数据变化因何而起(LineAge)。
地点(何地Where):数据项的存储位置。
时间(何时When):双时态属性。
人员(何人Who):用户和数据项进行关联,在事务属性项上建立与用户UID标识的关联。
有了这5W的潜能,基于数据项和其历史,利用AI技术和全数据挖掘技术,可以进行无限想象力的数据分析。这是一个数据分析的新天地。
根据历史数据负载等情况用AI对系统进行细粒度地、带有峰值(预测峰值时段压力)和资源(资源自动配给)特性的调优。
多维分析全数据挖掘技术,可以对以多维形式组织起来的数据进行上卷、下钻、切片、切块、旋转等各种分析操作,以便剖析数据,使分析者、决策者能从多个角度、多个侧面观察数据库中的数据,从而深入了解包含在数据中的信息和内涵,透视未来。比如,实施上卷操作评估整体情况,实施下钻操作追查操作细节,为系统的监控和调优等打下基础。
数据重演T-TDSQL提供数据重演的能力。
历史态数据存储,全时态数据中带有事务时间,基于这两点,可以分析数据的演变情况和某个时间点的事务发生情况,从而推演数据库在时间轴上的演进情况。
从数据推断应用的负载、推断数据的演化进程,是数据重演的意义所在。T-TDSQL可有效支持数据重演。
数据分析基于用户数据的历史变迁进行用户画像多维度分析,在历史态数据的支持下,可方便进行用户的深度分析;在双时态的支持下,可以方便根据时间的变迁和事务的执行情况进行数据的分析工作。
Acknowledgments