传统的Table领域和目前的Stream领域看似横亘着不可跨越的鸿沟,类似于经典力学和量子力学,但Stream和Table的依然存在着相关性。在研究这个理论之前,先回顾下什么是Table?一张Table是一堆拥有行列性质的数据,每一行都有着唯一的主键(无论是隐性还是显性的,具体可以参考我之前写的文章:https://mp.weixin.qq.com/s/aHjt2ssmUWJEfFdf8necMQ),但是在某种程度上,一张表的存储结构是一个只增不减的log(LSM树或者是B树),事务就是对这个log上的某条记录快照的更改及最终应用在log上。
而Stream和Table的联系就在于这个log了,一张Table就是在Stream中执行了一系列事务更改日志的结果,而Stream则是记录了一张表的变更的变更日志。这个概念通俗理解就是Oracle里的物化视图。一张物化视图就是将一系列原始表的变更日志应用在原始表上的结果表
任何对原始表的操作都被记录为log,然后再将这个log应用在物化视图上,形成最终的物化视图。
Stream -> Table 一系列Stream中的变化累积成了一张Table
Table -> Stream Table随着时间的的变化被记录到Stream中