Denodo Adoption Report - User Manual

Download the original document Download as Markdown


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

  1. 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).
  2. Download the Denodo Connect package zip file to the machine where you are going to import.
  3. Unzip the file
  4. 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.
  5. Change the following property values specific to your environment (using find and replace method)
        Port Number
  1. 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.
  2. Port Number of the VDP Server - find all 9999 and replace all of them with the actual port of the environment (default : 9999).
  3. Port Number of the Scheduler Server - find all 8000 and replace all of them with the actual port of the environment (default : 8000).
  4. 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
  1. Generally, localhost will work as is for all components except Solution Manager. If required, change localhost to the corresponding hostname of the machine.
  2. 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.
  3. 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
  1. 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.
  1. Change the Instance Type specific to your environment (using find and replace method).
  1. Open the .vql file in the Notepad++ or any other relevant tool to update the instance type value.
  2. 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.

  1. Take a copy of the Denodo Installation folder for a safer side - as a best practice.
  2. Start the following components of the environment,
  1. Virtual DataPort Server
  2. Data Marketplace
  3. Web Design Studio
  4. Diagnostic and Monitoring Tool
  5. Scheduler Server
  6. Scheduler Index Server
  7. Scheduler Administration Tool
  1. Open Web Design Studio
  2. Login as a user who has administrator privileges to import elements
  3. Perform an actual import using the updated VQL file and the properties file (File > Import).
  4. Choose the updated VQL and properties file.
  1. Click on Import
  2. It will create a virtual database called “denodo_adoption_report” and then import all the elements within this database.
  3. It may take approximately 1-2 mins to import.

  1. File > Refresh to make sure the database and other elements are created correctly.
  2. 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

  1. 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.
  2. 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.
  3. 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

  1. 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.
  2. 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