paul-rogers commented on issue #11659:
URL: https://github.com/apache/druid/issues/11659#issuecomment-913336065


   @clintropolis, thanks for the explanation. Again, this is philosophical. 
Druid started as a super-fast storage engine with its own query semantics. The 
"native" queries showed what Druid could (and could not) do. It was the job of 
the application developer to use those building blocks to perform some given 
task.
   
   Once SQL enters in the picture, us users kind of hope that the SQL engine 
will work out how to "make it so" to make a given query work. That's what 
Drill, Presto and Impala do: no matter how ugly the SQL (and I've seen 
statements thousands of lines long), the engine "does the right thing", even if 
that "thing" makes you cringe.
   
   The key thing to realize is that a data analyst has to do whatever is 
required of them; not just what the storage engine makes easy. If Druid does 
not support operation *x*, because *x* would be slow, then us poor app 
developers just have to find some way to code it in the app, probably with 
multiple queries, which makes the result even slower. Ain't no free lunch...
   
   For example, for this case the workaround is to use two `ORDER BY` queries. 
If Druid did the `MIN()` and `MAX()` operation, the query could use a single 
unordered pass over the data. With the workaround, the data must be sorted 
twice. The overall result to the user is much slower.
   
   I wonder if there is some way to use Drill or Presto to do the queries? 
Drill has a Druid connector, don't know about Presto. Then, Druid gets to say 
"pure", and I could delegate the ugly real-world queries to a tool that can 
handle them. Beyond the scope of this issue, just thinking out loud...


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to