Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Kylin use calcite as sql engine, when a sql comes to Kylin server, it requires to be parsed, optimized, code gen, and then query Kylin's cube storage, the previous 3 steps often take 50-150 ms to complete(depends on the complexity of the sql). If we support to cache the parsed result in Kylin server, the 3 steps will be saved.
The idea is to cache calcite's PreparedStatement object and related OLAPContexts in the server side, when the prepare request comes with the same sql, reuse the PreparedStatement to do the execution. Since the PreparedStatement is not thread safe, so I planned to use ObjectPool to cache the PreparedStatement.(use apache commons-pool lib)
Attachments
Issue Links
- is related to
-
KYLIN-3629 NullPointException throws when use preparedStatement cache in some case
- Closed
- relates to
-
KYLIN-2001 PreparedStatement Caching Support
- Closed
- links to