In current version, IoTDB does not support the usage of triggers (or hooks).
In many user scenarios, setting triggers is a flexible way to allow a user's application to intercept internal events before or after a data point modification operation. We can use triggers to write custom validation rules, to enforce security, and even to orchestrate external events.
Here are some expected features for IoTDB triggers:
- A trigger definition can specify a Boolean condition, which will be tested to see whether the trigger should be fired.
- If a trigger is set up for monitoring alerts, the trigger's sinks (e.g. message queues, pub/sub servers, databases, and computing engines) should be easy to configure and to connect so that the alarm information can be automatically transmitted downstream. I think IoTDB triggers can provide a configuration interface for sinks to implement.
- If a trigger fires before an INSERT operation or an UPDATE operation, the trigger can skip the operation for the current data point, or change the data point being inserted.
- After a trigger fires, the system can execute user-defined functions. In this scenario, it will be wonderful to support simple stateful computation and multi-stream collaborative computation.