[
https://issues.apache.org/jira/browse/STORM-1040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15034472#comment-15034472
]
Julian Hyde commented on STORM-1040:
------------------------------------
At a high level, it looks good. But I have some questions about the design and
direction.
I have a concern that you are operating on Calcite logical algebra, rather than
having created a Storm physical algebra. It shouldn't matter in the short term,
but you will probably want to do query optimization in future. In a physical
algebra you would have StormFilter extends Filter, etc. I am not referring to
deep optimization, but simple rewrites like pushing filters have very large
benefits and are almost essential to do SQL efficiently.
Have you published some SQL examples? And an example how to use SQL from Java
code?
It seems that you are skipping over the Delta operator. All will be fine for
simple Scan-Filter-Project queries, I think this means you will run into
problems when you add Aggregate and definitely when you add Join.
SQL support seems under-tested right now. A few areas of exposure are the SQL
built-in functions, null semantics, and the combinations of all the various
relational operators. Several of Calcite's tests (e.g. SqlOperatorBaseTest) are
structured like TCKs and could be incorporated into Storm's test suite to give
huge test coverage at little effort. What do you think of co-developing TCKs
for streaming SQL semantics?
Is there anything that should be contributed back to Calcite?
PostOrderRelNodeVisitor looked like a candidate.
I think [~wheat9] or maybe someone else from the Storm community should join
the Calcite dev list and actively participate. Calcite's API has a large
surface area and things naturally get broken. For projects that depend heavily
on Calcite (which now includes Storm), the best process seems to be for those
projects to proactively verify that nothing has been broken before our first
RC. Staying up to date allows us to fix bugs you encounter in a timely fashion.
(Before you ask: we are a small dev team and don't like the overhead of
maintenance branches!)
> SQL support for Storm
> ---------------------
>
> Key: STORM-1040
> URL: https://issues.apache.org/jira/browse/STORM-1040
> Project: Apache Storm
> Issue Type: Epic
> Components: storm-sql
> Reporter: Haohui Mai
> Assignee: Haohui Mai
>
> SQL is one of the more popular languages in business intelligence. Instead of
> writing Storm topology directly, having supports to compile SQL down to
> topology will accelerate the development and deployment of real-time
> streaming solutions.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)