[
https://issues.apache.org/jira/browse/TAJO-1430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14371108#comment-14371108
]
Dongjoon Hyun commented on TAJO-1430:
-------------------------------------
Thank you for your reminding, [~hyunsik]. I agree with you in that point. I
love your kind guide, always. I suggest that we create another issue for that
because, as you told, it is heavier issue that can not be included in 0.10.1.
As you know, this issue is only dependent on only SQLAnalyzer. Actually, you
can think this as a faster SQLAnalyzer using caching.
Finally, let me allow to introduce my two main reasons for that.
First, this issue is based on global semiconductor's use cases. There exist
Statement(not PreparedStatement) use cases with 20~30MB real queries. This
patch just caches queries whose parsing time is greater than 30 seconds, not
for all general queries. As you see in the example, in real sites, Tajo
customer experience is not good. TajoCli shows a few seconds, but the clock
wall shows over 30 seconds.
Second, current TajoPreparedStatement class just makes 'SQL String' as a result
from the prepared statements. I'm sure that you want me to modify this class
only. In fact, I desired to improve both Statement and PreparedStatement cases.
If I patches TajoPreparedStatement, the effect is very limited and cannot
fullfill my customers.
Last, but not least, you can remove later this feature very easily.
> Implement Query Parsing Result Caching
> --------------------------------------
>
> Key: TAJO-1430
> URL: https://issues.apache.org/jira/browse/TAJO-1430
> Project: Tajo
> Issue Type: New Feature
> Components: parser
> Affects Versions: 0.10.0
> Reporter: Dongjoon Hyun
> Assignee: Dongjoon Hyun
> Fix For: 0.10.1
>
> Attachments: TAJO-1430.patch, long.sql, middle.sql, wide_table.sql
>
>
> There are wide tables with many many columns. Moveover, BI tools generate
> very complex queries whose size is several MB. Although Tajo executes those
> queries very fast in a few seconds, the total time of UX is slow.
> To become a fastest Hadoop DW, we need this following feature.
> {code:sql}
> time tsql -f middle.sql > /dev/null
> real 0m19.058s
> user 0m2.148s
> sys 0m0.268s
> time tsql -f ~/tajo/middle.sql > /dev/null
> real 0m18.496s
> user 0m2.119s
> sys 0m0.240s
> $ time ./tsql -f ~/tajo/long.sql > /dev/null
> real 0m36.974s
> user 0m2.305s
> sys 0m0.272s
> $ time ./tsql -f ~/tajo/long.sql > /dev/null
> real 0m4.103s
> user 0m2.237s
> sys 0m0.249s
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)