The AllianceDB offers a wide range of stream join algorithms, supporting both inter and intra window join.
Three major parts are composed to achieve ultra-fast stream window join, and they can be found in corresponding named folder under include or src
Here are specific algorithms to eventually deal with stream join, including hash or radix. All of these algos assume there is no window, in another word, they achieve the intra-window join. Please refer to the The specific join algorithms module.
Here is the middle layer of the whole stream window join, i.e., to bridge the "window" and "join". One JoinProcessor may either eagerly do stream join, or just accumulate the tuples and evoke JoinAlgo for lazy join. JoinProcessors are managed by upper windowslider. Please refer to the JoinProcessors module.
Here is the top layer on all. Typically, the WindowSliders will:
Please find them in WindowSliders module
Besides the 3 above, Aliance DB has other parts to support its work, they are:
Common functions, data types for all aliance db component, and they are especially designed for aliance db. Please refer to Common Datastructure and Functions module.
Similar to Common, but they are not specialized for aliance db. On the contrary, they may be shared by other InteliStream programs or third-party programs. Please refer to Shared Utils with other Intelli Stream programs module.