Xiangdong Huang created IOTDB-516:
-------------------------------------
Summary: Apache IoTDB trigger module for streaming cumputing
Key: IOTDB-516
URL: https://issues.apache.org/jira/browse/IOTDB-516
Project: Apache IoTDB
Issue Type: Wish
Components: Core/Engine
Reporter: Xiangdong Huang
IoTDB is a time-series data management system and the data usually comes in a
streaming way.
In the IoT area, when a data point comes, a trigger can be called because of
the following scenario:
* (single data point calculation) the data point is an outlier point, or the
data value reaches a warning threshold. IoTDB needs to publish the data point
to those who subscribed the event.
* (multiply time series data point calculation) a device sends several metrics
data to IoTDB, e.g., vehicle d1 sends average speed and running time to IoTDB.
Then users may want to get the mileage of the vehicle (speed x time). IoTDB
needs to calculate the result and save it to another time series.
* (Time window calculation) a device reports its temperature every second.
Though the temperature is not too high, if it keeps increasing in 5 seconds,
IoTDB needs to report the event to those who subscribe that.
As there are many streaming computing projects already, we can integrate one of
them into IoTDB.
* If IoTDB runs on Edge, we can integrate Apache StreamPipes or Apache Edgent.
* If IOTDB runs on a Server, the above also works and Apache Flink is also a
good choice.
The process is:
* User registers a trigger into IoTDB.
* When a data comes, IoTDB save it and check whether there are triggers on it
* If so, call a streaming computing framework to do something;
You may need to know:
* At least one streaming computing project.
* SQL parser or some other DSL parser tool.
You have to modify the source codes of IoTDB server engine module.
Difficulty: A little hard
mentors:
--
This message was sent by Atlassian Jira
(v8.3.4#803005)