T-TDSQL的核心技术之一,是数据模型的定义,全态数据模型和双时态数据模型的结合,造就了T-TDSQL。
1.T-TDSQL的核心技术一,数据模型
在这个模型中,全态数据体现在了数据项的历史版本上;时态数据不仅有事务时态、还有有效时间时态。而全态数据的历史态数据,不仅可以追溯数据库系统的操作发生时间,还可以追溯发生的操作类型,如下图中的“Operation”列,可以知道在数据项上曾经发生的DML操作是UPDATE还是INSERT还是DELETE。这是一个非常酷的特性,这使得用户在T-TDSQL系统中可以实现“一切过往兼可追溯”的梦想。
2.T-TDSQL的核心技术二,历史数据转储时机
历史数据的存储时机,是T-TDSQL的另外一个核心技术。
T-TDSQL用全态的数据概念,巧妙地利用MySQL的回滚段和Purge机制,实现了历史态数据的转储。一个原理图如下:
3.T-TDSQL的核心技术二,一致性快照点
在PostgreSQL中,如果实现本技术,可以考虑结合多版本的存储特点,实现当前态数据与历史态、过渡态的存储分离,这需要修改已有的数据可见性判断算法、页面存储格式、数据的合并时机、缓冲区的读写和heap的构造方式等,更重要的是要实现新的数据一致性快照点。
而T-TDSQL基于MySQL实现了新的数据一致性快照点的构建,因而可以获取任何时间段(包括历史发生过的时间)上的任何状态的数据。
作为原创技术,T-TDSQL的核心技术点及其思路,相关论文已经在World Wide Web journal上以题为《Efficienttime-interval data extraction in MVCC-based RDBMS》发表,详情可参见: