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]
