Rate This Document
Findability
Accuracy
Completeness
Readability

Architecture

This section describes the OmniStream architectures.

SQL

The OmniStream Flink Native feature uses native code (C/C++) to implement Flink SQL operators, which improve query performance. It consists of the Java Adaptor layer implemented using Java and the CPP Core layer implemented using C++. The Java Adaptor layer is used to generate native execution plans and roll back the Java runtime in unsupported scenarios. The CPP Core layer implements operator logic and data transmission.

Figure 1 shows the architecture of OmniStream Flink SQL Native.

Figure 1 Architecture of OmniStream Flink SQL Native

After an SQL statement or the table API is inputted and parsed, an execution plan is generated. The Java Adaptor layer obtains the execution plan, initializes related tasks in the CPP, and generates an operator chain. After the initialization process is complete, Flink runs the task to read data from the source. After a series of operator processing operations, the result is outputted by Sink.

DataStream

Figure 2 shows the architecture of OmniStream Flink DataStream Native.

Figure 2 Architecture of OmniStream Flink DataStream Native

After the DataStream API is inputted and parsed, an execution plan is generated. The Java Adaptor layer obtains the execution plan, initializes related tasks at the CPP Core layer, and generates an operator chain. After the initialization process is complete, run the task to read data from the source. After a series of operator processing operations, the data is outputted by Sink.