T-TDSQL 的核心技术
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》发表,详情可参见:
https://link.springer.com/article/10.1007/s11280-018-0552-7
评论