数据库度量空间相似连接与非度量空间库工程
1. 数据库相似连接(DBSimJoin)概述
DBSimJoin 是一种高效且非阻塞的数据库相似连接操作符,支持迭代器接口,通过一系列轮次优先快速生成结果。它可用于多种数据类型和距离函数。
2. DBSimJoin 执行流程
在 DBSimJoin 操作符中调用 getNext 时,例程会在各个状态间转换,直到生成下一个元组。系统会记录当前状态和其他必要信息,以便下次调用 getNext 时恢复执行。其中,InMemSJBase 和 InMemSJWin 代表内存中的相似连接例程,这两个例程也采用状态机方法实现,以进一步减少生成下一个链接的时间。
下面是 DBSimJoin 的 GetNext 状态转换流程:
graph LR
A[Process Next Base Partition] -->|Base partition can be processed in-memory| B[InMemSJBase (outputs SJ links)]
A -->|Base partition cannot be processed in-memory| C[Hibernate Partition]
D[Process Next Window-Pair] -->|Window-pair can be processed in-memory| E[InMemSJWin (outputs SJ window links)]
D -->|Window-pair cannot be pro