Make the Logs Information Available to a VDP Server

This section explains in detail the second of the necessary steps to configure the automatic summary recommendations described in section Process Setup Overview.

The Summary Recommendations tool is available under the menu Tools > Query optimizations > Summary Recommendations of the Administration Tool.

The first time running the automatic recommendation of summaries it is necessary to:

  • Decide the Virtual DataPort server that will run the process.

  • Create a special database on that sever accessing the log information

In order to select the Virtual DataPort server take into account:

  • This process can be resources and time intensive. Because of this, it is not recommended to run it on a production environment.

  • The recommender system will need to simulate the monitored queries in order to generate summary candidates. This means the server running the recommendations must contain the same views used in those queries that you want to accelerate. For example, if you are monitoring a production environment and you run the recommendations on a Staging server, the metadata should be the same.

  • These views must contain statistics so the recommender tool can estimate the costs and benefits of the different queries and summaries.

  • The Summary Recommendations tool needs to access the log information that we have generated in the previous step.

In order to create the database containing the views over the log information import the template summary_recommendations_db.vql in folder /resources/vdp/query_acceleration of the Denodo Platform installation. This template creates a database ‘query_acceleration’ with two interfaces:

  • i_queryblock_notification: interface providing access to the information about query blocks of the Denodo Monitor logs. It accesses the <prefix>-queryblocks logs if your monitoring logs are text files or queryblock_notification table if they are in a JDBC database. Take into account this log is not generated by default, visit previous section How to Monitor an Environment for Summary Recommendations for more information.

  • i_request_notification, interface providing access to the information about requests of the Denodo Monitor logs. It accesses the <prefix>-queries logs if your monitoring logs are text files or request_notification table if they are in a JDBC database.

The template provides a sample implementation for both interfaces consisting on a view accessing the logs generated by the local Denodo Monitor tool on that server. This default implementation is useful for educational purposes as a first approach on how to use this tool. On a real scenario, you should adapt or replace this implementations with your own version to access the logs result of your monitoring. If your logs are stored in local text files, you can edit request_notification_file_impl and queryblock_notification_file_impl and modify the conditions:

logs_path = '../tools/monitor/denodo-monitor/logs'

to use the correct path to your local files instead, and the condition:

log_prefix = 'vdp'

to use the right file prefix. ‘vdp’ is the default prefix for the local Denodo Monitor, but the ones generated using the Solution Manager can be different. In case you are using the Solution Manager you can check the file names in <SOLUTION_MANAGER_HOME>/resources/solution-manager-monitor/work.

In addition, notice the data source monitor_log_file_ds is using a relative path to the jar:


As an alternative, you can include this extension using File -> Extension Management and edit the data source to select the new extension instead of a local path.

If your logs are stored on a different location or a JDBC database, create the necessary data source and views and replace the interfaces implementation.


In case you already have a database called query_acceleration for other purposes you can create these views in a database using a different name of your choice. In that case you need to specify your custom database name executing the following command from a VQL Shell:

SET 'com.denodo.summaryrecommendation.dbNameForLogsInfo' = '<your_custom_db_name>';
Add feedback