Denodo Adoption Report - User Manual
You can translate the document:
Overview
Denodo Adoption Report is designed to parse metadata and generate insights related to current implementation landscape and feature/functionality usage. It will be deployed in the customer environment, output will be persisted at customer site for insights and reporting to their management. Additionally, Denodo will be collecting a limited amount of data from the report output to get some understanding of the customer deployment details.
Data Elements captured
Data gets captured under various categories such as Virtual DataPort Functionality, Virtual DataPort Data Sources, Scheduler, Data Marketplace etc. and the following are the data elements captured at the high level, Operating system where Denodo runs, metadata catalog statistics, connector types used, query performance functionalities, Security functionalities, Data Marketplace functionalities, Scheduler functionalities, metadata usage etc. Refer to the Denodo Adoption Report - Output Specification section for more details.
Benefits of Denodo Adoption Report
- Executive-Level Visibility: Effortlessly generate period-over-period reports on platform usage, feature adoption, and project growth. Combine these insights with Denodo Dashboards for a 360-degree view of your data estate.
- Accelerated Time-to-Value: Measure precise deployment timelines—from initial virtual database development to production go-live—to optimize your delivery cycles.
- Proactive System Optimization: Receive tailored, proactive alerts based on your active deployment. For example, teams utilizing Assisted Query in the Data Marketplace will get advance notifications about upcoming feature enhancements.
- Faster Support & Custom Analytics: Provide our experts with immediate context to drastically reduce troubleshooting time. Plus, leverage your usage data to build custom operational metrics tailored to your business needs.
High Level Design
The script is written purely based on the VQL, predefined Stored Procedures, predefined APIs of Solution Manager, Data Marketplace and Scheduler to read and parse the metadata to get the relevant information such as whether the feature is enabled or not, if enabled what is the tool used for the purpose (for example, external database to store metadata is enabled means what database is used etc).
Please note that it doesn’t use any third party libraries or tools for it to work properly except for the need of a relational database to store the output.
Installation and Configuration
Assumptions:
General
- In general, the tool assumes all the server components are up and running in the instance where the tool is getting deployed.
- It is using the “use login and password” authentication. Either the admin user or any user equivalent to administrator having access to the metadata should be used to analyze the whole metadata of all components.
- It assumes localhost and 9090 are the usual hostname and web container port in the customer environment when it is executed locally.
- It assumes no proxy is involved as it is a local connection.
Virtual DataPort:
- The tool uses the “Denodo Virtual DataPort” JDBC connection to point to the same Virtual DataPort server where it is deployed [Virtual DataPort to Virtual DataPort connection].
Data Marketplace:
- It assumes that there is at least one Virtual DataPort Server already added to the Administration > Set-up and Management > Server Set-up section and its Server ID (serverId\=1) is defaulted to 1 in all the API Calls within the code. For eg: /public/api/category-management/categories?serverId\=1
- Even though serverid\=1 is not required for Denodo 8, it is used for code consistency purposes (to keep one version of code that works for Denodo 8 and Denodo 9).
Scheduler:
- It assumes localhost and 8000 are the usual hostname and scheduler server port in the customer environment when it is executed locally. So, it uses the uri parameter with these values in all the API calls (uri=%2F%2Flocalhost%3A8000). For eg: /public/api/configuration/cluster?uri=%2F%2Flocalhost%3A8000
Solution Manager:
- It assumes localhost and 19090 are the usual hostname and solution manager server port in the customer environment when it is executed locally.
- In some of the scenarios, the Solution Manager is running in a different machine. So, the localhost should be replaced with the Solution Manager hostname.
Installation Steps
- Denodo 9 Update 9.2 and above
Prerequisites:
- Any JDBC based database is required to persist the tool output and the corresponding user credentials to access the database and to create a couple of tables - scripts are available as part of the Denodo Connect package.
The below steps to be repeated for each environment available in the customer organisation. For example, if there are Dev and Prod, then the below steps should be executed in both the environments one by one to capture the metadata analysis corresponding to each environment. All the environments can refer to the same database to persist the output, there is a differentiating column called environment in both the tables. If there are isolated environments, then the reporting layer can be configured in a way to combine all the environment output together for reporting needs.
Virtual DataPort
- Perform all these steps as administrator who installed the product or at least as the user who has admin privilege in the Denodo Platform (who is able to import all types of elements).
- Download the Denodo Connect package zip file to the machine where you are going to import.
- Unzip the file
- Get into the vql folder and open the denodo_adoption_report.properties file in the Notepad++ or any other relevant tool to update the property values according to the current environment settings (such as port number etc). There are placeholders and examples given in the properties file.
- Change the following property values specific to your environment (using find and replace method)
Port Number
- Port Number of the Web Container Port (for Scheduler and Data Marketplace APIs to work properly) - find all 9090 and replace all of them with the actual port of the environment. If SSL enabled, then it should either be 9443 or 443 depending on how the customer configured their environment.
- Port Number of the VDP Server - find all 9999 and replace all of them with the actual port of the environment (default : 9999).
- Port Number of the Scheduler Server - find all 8000 and replace all of them with the actual port of the environment (default : 8000).
- Port Number of the Solution Manager Server - find all 10090 and replace all of them with the actual port of the environment (default : 10090).
Hostname
- Generally, localhost will work as is for all components except Solution Manager. If required, change localhost to the corresponding hostname of the machine.
- In most scenarios, the Solution Manager is running in a different machine. So, the localhost should be replaced with the Solution Manager hostname for the properties related to Solution Manager API.
- In addition to hostname changes, please change the URL based on whether it should be HTTP or HTTPS. If you are doing find and replace, please be careful that the parameter value alone is to be changed, not the parameter name on the left side.
Authentication
- For all authentication, the script is using the default admin user, admin password and basic authentication type. Please change the password corresponding to the admin user, if it is the default password in your environment, then skip this step.c
- Search for all the parameters ends with ROUTE.HTTP.PASSWORD replace the value with the <actual password>
- Search for all the parameters ends with PASSWORD.ENCRYPTED replace the value with blank, meaning you are giving a plain text password.
- Change the Instance Type specific to your environment (using find and replace method).
- Open the .vql file in the Notepad++ or any other relevant tool to update the instance type value.
- Find all ‘’Dev’’ to the corresponding instance type and change to such as ‘’Test’’, ‘’UAT’’ etc. Please note that it is enclosed with two single quotes on both the sides.
- Take a copy of the Denodo Installation folder for a safer side - as a best practice.
- Start the following components of the environment,
- Virtual DataPort Server
- Data Marketplace
- Web Design Studio
- Diagnostic and Monitoring Tool
- Scheduler Server
- Scheduler Index Server
- Scheduler Administration Tool
- Open Web Design Studio
- Login as a user who has administrator privileges to import elements
- Perform an actual import using the updated VQL file and the properties file (File > Import).
- Choose the updated VQL and properties file.
- Click on Import
- It will create a virtual database called “denodo_adoption_report” and then import all the elements within this database.
- It may take approximately 1-2 mins to import.
- File > Refresh to make sure the database and other elements are created correctly.
- Execute the stored procedure “denodo_adoption_report_sp_summary” found under denodo_adoption_report > 5 - Stored Procedures folder to make sure if all works fine.
Scheduler
- The name of the Scheduler Job Export is denodo_adoption_report.zip
- There will be 4 different jobs within the zip file as follows, two snapshot jobs to run and capture the output into the database and the remaining two jobs to export the output and send as email to Denodo.
- Denodo_Adoption_Report_Snapshot_Summary
- Denodo_Adoption_Report_Snapshot_Details
- Denodo_Adoption_Report_Summary_Export
- Denodo_Adoption_Report_Details_Export
- It can be imported and scheduled in the environment to run the jobs as per the schedule (quarterly once) or even executed ad hoc.
- After importing the zip file, please change the Data Source settings such as server and user credentials according to your environment.
- Edit the Export Job (exporters section) to change the Output File to reflect the customer’s support case code. For example, if the support case has the format “SP-XYZ-8725-26-47”, please consider using XYZ as the customer’s support case code.
- The output gets stored in the relational database table if that is configured properly.
- Similarly the export jobs will take care of sending the export as an email to support@denodo.com provided it is allowed by the customer and the email handler is configured correctly. This is completely optional and can be disabled.
Relational Database Table Creation
Login to Web Design Studio and go to the connectivity details under
denodo_adoption_report/1-Connectivity/Reports and edit ds_denodo_adoption_report_snapshot to point to the database created in the prior step.
Execution
- After the successful import, open the Data Source, ds_denodo_adoption_report_snapshot, change it in a way to point to the JDBC Database along with the necessary parameters. This is required to point to the database to persist the output of the script.
- Execute the stored procedures “denodo_adoption_report_sp_summary” and “denodo_adoption_report_sp_details” found under 5 - Stored Procedures folder, by choosing the option Retrieve All Rows. Note: Time taken to complete will depend on the size of the metadata.
- Similarly, make sure all the scheduler jobs are executed successfully.
Power BI Dashboard
- There is a Power BI Dashboard desktop file included in the Denodo Connect package. This is mainly for the intention of showing the collected data in the graphical form. The collected data is neutral to any Visualization tools.
- For the customers using Power BI as a Visualization tool, this can be used as is by changing the data source connection pointing to the Denodo instance where the tool is installed.
- Customers using other Visualization tools can consider the Power BI version as an example and build the corresponding dashboards in their tool.
Error Resolution
- If you encounter any errors, please refer to the FAQ if there are any relevant instructions to resolve the issue. If found, then follow the steps accordingly.
- If you are unable to resolve the issue by using the FAQ or yourself, then please get in touch with the Denodo Support.
Denodo Adoption Report - Output Specification
Denodo Adoption Report output is split into two broader categories called Summary and Details.
Denodo Adoption Report - Summary
Summary section shows the list of features / functionalities, whether it is enabled or not, if enabled it will also show how much it is being used wherever applicable [For example, if Cloud Databases are used as a Data Source, how many such Data Sources are available]. Sample output along with the explanation is given below:
|
sno |
category |
property |
Active Flag |
Value with Sample |
Explanation for Value column Stored in customer environment and also shared to Denodo |
|
101 |
Solution Manager - Configuration |
Deployment Platform |
Yes |
Windows |
It gives the Operating System of the Solution Manager Server |
|
102 |
Solution Manager - Configuration |
Deployment Type |
Yes |
ON_PREMISES |
It says whether the deployment is On Prem or Cloud |
|
103 |
Solution Manager - Usage |
Number of Prod Clusters in use |
No |
0 |
It shows the number of clusters being used. |
|
104 |
Solution Manager - Usage |
Number of Prod Servers in use |
No |
1 |
It shows the total number of servers being used |
|
201 |
VDP - Cache Configuration - Server Level |
Cache Configuration Status |
Yes |
|
It says whether cache is enabled. |
|
202 |
VDP - Cache Configuration - Server Level |
Embedded MPP as Cache |
No |
Cache Source is different |
It says whether Cache and eMPP are pointing to the same database or different. |
|
203 |
VDP - Cache Configuration - Server Level |
Cache Mode - Full |
Yes |
2 |
It shows the total number of views having Full Cache enabled. |
|
205 |
VDP - Cache Configuration - Server Level |
Cache Mode - Partial |
No |
2 |
It shows the total number of views having Partial Cache enabled. |
|
301 |
VDP - Data Sources |
Cloud Databases |
Yes |
2 |
It shows the total number of Cloud Databases being used. |
|
302 |
VDP - Data Sources |
EDW Databases |
No |
3 |
It shows the total number of EDW Databases being used. |
|
303 |
VDP - Data Sources |
Hadoop/Big Data Systems |
Yes |
4 |
It shows the total number of Hadoop/Big Data Systems being used. |
|
304 |
VDP - Data Sources |
Hybrid/Multi-location Denodo Deployment |
Yes |
1 |
It shows the count of the Denodo Instance data sources (data sources pointing to other Denodo Servers).It is assumed to be Multi-Location / Hybrid. |
|
305 |
VDP - Data Sources |
In-Memory Databases |
No |
N/A |
It shows the count of In-Memory Databases being used. |
|
306 |
VDP - Data Sources |
JMS Listeners |
Yes |
3 |
It shows the count of JMS Listeners being used. |
|
307 |
VDP - Data Sources |
Kafka |
No |
0 |
It shows the total count of the Kafka data sources. |
|
308 |
VDP - Data Sources |
LDAP |
No |
0 |
It shows the total count of the LDAP data sources. |
|
309 |
VDP - Data Sources |
Multidimensional Databases |
No |
1 |
It shows the count of Multidimensional Databases. |
|
310 |
VDP - Data Sources |
Native MongoDB adapter |
No |
1 |
It shows the total count of the MongoDB data sources. |
|
311 |
VDP - Data Sources |
NoSQL Databases |
No |
2 |
It shows the total count of the NoSQL data sources like Hbase, Elasticsearch, DynamoDb etc. |
|
312 |
VDP - Data Sources |
Time Series Databases |
No |
1 |
It shows the total count of Time Series Databases being used. |
Denodo Adoption Report - Details
The details section shows only the list of features / functionalities enabled along with the additional details about it. For example, if Cloud Databases are used as a Data Source and the count was shown as five in the Summary section, then the details section will show five different rows with different adapter details. Sample output along with the explanation is given below:
|
sno |
category |
property |
Value With Sample |
Technical Description |
|
201 |
VDP - Cache Configuration - Server Level |
Cache Configuration Status |
mysql-8 |
It gives the JDBC Database Name and Version being used as Cache. It will contain only the technical name of the adapter and its version such as mysql-8, oracle-10g etc. |
|
301 |
VDP - Data Sources |
Cloud Databases |
athena-1_0 |
It shows the list of Cloud Databases and its versions used. It will contain only the technical name of the adapter. Each database will be listed in a separate row. |
|
301 |
VDP - Data Sources |
Cloud Databases |
sqlserver-2016 |
|
|
302 |
VDP - Data Sources |
EDW Databases |
generic-2 |
It shows the list of EDW Databases and its versions used. It will contain only the technical name of the adapter. Each database will be listed in a separate row. |
|
302 |
VDP - Data Sources |
EDW Databases |
snowflake-1_x |
|
|
303 |
VDP - Data Sources |
Hadoop/Big Data Systems |
bigquery-2_0 |
It shows the list of Hadoop/Big Data Systems and its versions used. It will contain only the technical name of the adapter. |
|
303 |
VDP - Data Sources |
Hadoop/Big Data Systems |
impala-2_3 |
|
|
303 |
VDP - Data Sources |
Hadoop/Big Data Systems |
redshift-2015 |
|
|
305 |
VDP - Data Sources |
In-Memory Databases |
hdb-1 |
It shows the list of In-Memory Databases and its versions used. It will contain only the technical name of the adapter. |
|
305 |
VDP - Data Sources |
In-Memory Databases |
timesten-11 |
|
|
306 |
VDP - Data Sources |
JMS Listeners |
webspheremq-NA |
It shows the list of JMS Listeners and its versions used. It will contain only the technical name of the listener. |
|
306 |
VDP - Data Sources |
JMS Listeners |
activemq-NA |
|
|
309 |
VDP - Data Sources |
Multidimensional Databases |
ssas-2016 |
It shows the list of Multidimensional Databases and its versions used. It will contain only the technical name of the adapter. |
|
311 |
VDP - Data Sources |
NoSQL Databases |
mongodb-NA |
It shows the list of NoSQL Databases and its versions used. It will contain only the technical name of the adapter. |
|
312 |
VDP - Data Sources |
Time Series Databases |
clickhouse-23_x |
It shows the list of Time Series Databases and its versions used. It will contain only the technical name of the adapter. |
|
313 |
VDP - Data Sources |
ODBC Databases |
access-4 |
It shows the list of ODBC Databases and its versions used. It will contain only the technical name of the adapter. |
|
313 |
VDP - Data Sources |
ODBC Databases |
generic- |
|
|
315 |
VDP - Data Sources |
Traditional Databases |
athena-1_0 |
It shows the list of Traditional Databases and its versions used. It will contain only the technical name of the adapter. |
|
315 |
VDP - Data Sources |
Traditional Databases |
mysql-5 |
|
|
323 |
VDP - Data Sources |
Object Storage |
HDFS |
It shows the list of Object Storages used. It will contain only the technical name. |
|
323 |
VDP - Data Sources |
Object Storage |
S3 |
|
|
352 |
VDP - Functionality |
Denodo Connect Components used |
filesystem-customwrapper |
It shows the list of Denodo Connect components used. It will contain only the name of the connect component. |
|
352 |
VDP - Functionality |
Denodo Connect Components used |
log-customwrapper |
|
|
353 |
VDP - Functionality |
External Metadata Database |
mysql-8 |
It shows the external Database Name and version used to store the VDP metadata. It will contain only the technical name of the database. |
|
354 |
VDP - Functionality |
Tags from External Catalog |
Collibra is used / Generic Method and Collibra are used. |
It shows what method and type of External Catalog is used for the Tags. |
|
375 |
VDP - Server Config |
VCS System |
System : git |
It shows the software name used for Source Control such as Git. |
FAQs / Possible errors and resolution
FAQ 1 - It is possible to get the following error if the Limit Query Memory is On and with less value.
Finished with error: Error executing query. Total time 8.52 seconds.
denodo_adoption_report_sp_summary [STORED PROCEDURE] [ERROR] Received exception with message 'Error analyzing query to decide the necessary memory restrictions based on the query limit specified: 'Memory usage restrictions prevent the execution of the query. The minimum required memory is: 279.0 MB''
Solution: Increase the value to 300 MB
FAQ 2 - It is possible that the data source could have not been imported properly due to encrypted values. In such cases, the data source can be created manually by using the same name as in the original code as follows,
Scheduler Import
Project Name: Denodo Adoption Report
Data Source Name: ds_denodo_adoption_report
Connection URI: //localhost:9999/denodo_adoption_report