OoOJoin  0.0.1
The next generation of out-of-order join operator
OoOJoin Namespace Reference

Classes

class  AbstractStateOfKey
 The statistics and prediction state of a key. More...
 
class  StateOfKeyBucket
 The multithread-supported bucket of StateOfKey. More...
 
class  StateOfKeyHashTable
 The multithread-supported hash table, holding buckets of stateofkey. More...
 
class  Tuple
 The class to describe a normal tuple. More...
 
class  OoOTuple
 The class to describe a tuple, which allows out-of-order. More...
 
class  TrackTuple
 The class to describe a tuple, which allows out-of-order and tracking processed Time. More...
 
class  Window
 The class to describe a simplest window. More...
 
class  AbstractJoinAlgo
 The abstraction to describe a join algorithm, providing virtual function of join. More...
 
class  JoinAlgoTable
 The table contains all supported algos. More...
 
class  NestedLoopJoin
 The top class package of Nested Loop Join providing a "join function". More...
 
class  MtBucket
 The multithread-supported bucket. More...
 
class  MultiThreadHashTable
 The multithread-supported hash table, holding buckets. More...
 
class  NPJ_thread
 The thread used by NPJ. More...
 
class  NPJ
 The top class package of NPJ, providing a "join function". More...
 
class  NPJSingle
 The top class package of single threadNPJ, providing a "join function". More...
 
class  AbstractOperator
 The abstraction to describe a join operator, providing virtual function of using the operation. More...
 
class  IAWJOperator
 The intra window join (IAWJ) operator, only considers a single window. More...
 
class  IMAIAWJOperator
 The IAWJ operator under the simplest AQP strategy, and updates incrementally (IMA), only considers a single window and uses exponential weighted moving average for prediction. This one is EAGER join in fact. More...
 
class  MeanAQPIAWJOperator
 The intra window join (MeanAQPIAWJ) operator under the simplest AQP strategy, only considers a single window and uses exponential weighted moving average for prediction. More...
 
class  OperatorTable
 The entity of operatorTable, can used for searching all available operators. More...
 
class  AbstractDataLoader
 The abstract class of dataloader. More...
 
class  DataLoaderTable
 The entity of DataLoaderTable, can used for searching all available DataLoaders. More...
 
class  FileDataLoader
 The dataloader which loads data from external csv file. More...
 
class  RandomDataLoader
 The dataloader which produces random key, random value and random skewness. More...
 
class  TestBench
 The test bench class to feed data. More...
 
class  ZipfDataLoader
 The dataloader which allows zipf distribution of key, value, event time and arrival skewness. More...
 
class  AbstractWaterMarker
 The abstraction to describe a watermark generator, providing virtual function of deciding watermark generation. More...
 
class  ArrivalWM
 watermark generates at time t, and every thing arrives later then t will be discard, i.e., flush finial result at t More...
 
class  LatenessWM
 The class which generates watermark according to lateness of event time. A tuple with event time earlier than max (event time we have seen) - lateness will be discard and trigger a compute. More...
 
class  WMTable
 The table to indexing all possible watermark generators. More...
 

Typedefs

typedef std::shared_ptr< AbstractJoinAlgoAbstractJoinAlgoPtr
 
typedef std::shared_ptr< JoinAlgoTableJoinAlgoTablePtr
 The class to describe a shared pointer to JoinAlgoTable. More...
 
typedef std::shared_ptr< NestedLoopJoinNestedLoopJoinPtr
 The class to describe a shared pointer to NestedLoopJoin.
 
typedef std::shared_ptr< class AbstractOperatorAbstractOperatorPtr
 The class to describe a shared pointer to AbstractOperator.
 
typedef std::shared_ptr< class IAWJOperatorIAWJOperatorPtr
 The class to describe a shared pointer to IAWJOperator.
 
typedef std::shared_ptr< class IMAIAWJOperatorIMAIAWJOperatorPtr
 The class to describe a shared pointer to IMAIAWJOperator.
 
typedef std::shared_ptr< class MeanAQPIAWJOperatorMeanAQPIAWJOperatorPtr
 The class to describe a shared pointer to MeanAQPIAWJOperator.
 
typedef std::shared_ptr< class OperatorTableOperatorTablePtr
 The class to describe a shared pointer to OperatorTable.
 
typedef std::shared_ptr< class AbstractWaterMarkerAbstractWaterMarkerPtr
 The class to describe a shared pointer to AbstractWaterMarker. More...
 
typedef std::shared_ptr< class ArrivalWMArrivalWMPtr
 The class to describe a shared pointer to ArrivalWM. More...
 
typedef std::shared_ptr< class LatenessWMLatenessWMPtr
 The class to describe a shared pointer to PeriodicalWM. More...
 
typedef std::shared_ptr< class WMTableWMTablePtr
 The class to describe a shared pointer to WMTable.
 
typedef std::shared_ptr< class AbstractStateOfKeyAbstractStateOfKeyPtr
 The class to describe a shared pointer to AbstractStateOfKey.
 
typedef std::shared_ptr< class StateOfKeyBucketStateOfKeyBucketPtr
 The shared pointer to a StateOfKeyBucket.
 
typedef std::shared_ptr< StateOfKeyHashTableStateOfKeyHashTablePtr
 The shared pointer to a StateOfKeyHashTable.
 
typedef uint64_t keyType
 
typedef uint64_t valueType
 
typedef uint64_t tsType
 
typedef std::shared_ptr< class TupleTuplePtr
 The class to describe a shared pointer to Tuple. More...
 
typedef std::shared_ptr< class OoOTupleOoOTuplePtr
 The class to describe a shared pointer to OoOTuple. More...
 
typedef std::shared_ptr< class TrackTupleTrackTuplePtr
 The class to describe a shared pointer to TrackTuple.
 
typedef std::shared_ptr< MtBucketMtBucketPtr
 
typedef TrackTuplePtr NPJTuplePtr
 
typedef std::shared_ptr< MultiThreadHashTableMultiThreadHashTablePtr
 
typedef std::shared_ptr< NPJNPJPtr
 The class to describe a shared pointer to NPJ. More...
 
typedef std::shared_ptr< NPJSingleNPJSinglePtr
 The class to describe a shared pointer to NPJSingle.
 
typedef std::shared_ptr< class AbstractDataLoaderAbstractDataLoaderPtr
 The class to describe a shared pointer to AbstractDataLoader.
 
typedef std::shared_ptr< class DataLoaderTableDataLoaderTablePtr
 
typedef std::shared_ptr< class FileDataLoaderFileDataLoaderPtr
 The class to describe a shared pointer to FileDataLoader.
 
typedef std::shared_ptr< class RandomDataLoaderRandomDataLoaderPtr
 The class to describe a shared pointer to RandomDataLoader.
 
typedef std::shared_ptr< class ZipfDataLoaderZipfDataLoaderPtr
 The class to describe a shared pointer to ZipfDataLoader.
 

Enumerations

enum  join_algo_index_t { JOINALGO_NULL = 0 , JOINALGO_NESTEDLOOP = 1 , JOINALGO_NPJ = 2 , JOINALGO_NPJ_SINGLE = 3 }
 The system default index for join algorithms. More...
 

Detailed Description

Note
If new algorithm is added, please change this file and its .cpp add the header of other algorithms here
If new Operator is added, please change this file and its .cpp

Typedef Documentation

◆ AbstractWaterMarkerPtr

typedef std::shared_ptr<class AbstractWaterMarker> OoOJoin::AbstractWaterMarkerPtr

The class to describe a shared pointer to AbstractWaterMarker.

[AbstractWaterMarkerPtr]

◆ ArrivalWMPtr

typedef std::shared_ptr<class ArrivalWM> OoOJoin::ArrivalWMPtr

The class to describe a shared pointer to ArrivalWM.

[ArrivalWMPtr]

◆ JoinAlgoTablePtr

typedef std::shared_ptr<JoinAlgoTable> OoOJoin::JoinAlgoTablePtr

The class to describe a shared pointer to JoinAlgoTable.

[JoinAlgoTablePtr]

◆ LatenessWMPtr

typedef std::shared_ptr<class LatenessWM> OoOJoin::LatenessWMPtr

The class to describe a shared pointer to PeriodicalWM.

[PeriodicalWMPtr]