From the existing CEP (Complex Event Processing) framework, like the powerful Esper, we learned that much of the work can be done by writing SQL, without having to write any code. So for streaming I think it's also necessary to have a similar SQL query language. The current streaming platform framework like storm forces the user to implement some of the query pattern operations like silding window. I don't think every case developer likes rewriting these things.
So we need the abstraction of high level, I can completely encapsulate some algorithms, directly assemble the call, or directly support SQL syntax. We can learn a lot from hive for Hadoop,spark Sql,apache Flink.
Here are some reasons why you need a SQL-like query language:
1. Real-time analysis is complex, and business developers are reluctant to implement algorithms like sliding window or time event patterns;
2. SQL is simple, easy to understand and learn, development cost is low;
3. The SQL language is short and universal, and fast
4. The core syntax of SQL itself can solve 90% of the problems
5. Languages that BI experts tend to over the years
6. Real-time analysis can better optimize the SQL language model of the execution plan, most of the optimization operations are already in the study, some have been researched and can be used directly.
Why do We need SQL like Query Language for Realtime streaming Analytics?
Why a SQL-like query language is required in streaming process