Restriction of Number of Data Sources

Denodo Standard restrict the number of data sources to five. Some versions of the Denodo Platform also have this restriction.

When the number of sources is restricted, consider this: to facilitate accessing REST APIs, the data sources of type XML, JSON or DF that point to the same REST API count as one data source.

From a licensing standpoint, if a user creates a data source, it is not counted as a new data source if it meets all these conditions:

  1. The new data source is DF, JSON or XML.

  2. The new data source points to a URL (i.e. it uses an HTTP route).

  3. There is already a data source of the same type that also has an HTTP route that points to the same hostname and port. Note: both data sources have to point to the same hostname and port, the complete URL can be different.

For example, let us say a user creates a JSON data source that points to “https://api.acme.com/projects/issues.json”:

  • This counts as one data source.

  • The user can create more JSON data sources with an HTTP route that point to a URL that starts with “https://api.acme.com/”; from a licensing perspective, they will not count as new data sources.

  • If the user creates a JSON data source with an HTTP route and the URL is an interpolation variable (e.g. “@{input_value}”), this counts as a new data source even if at runtime, the value of the interpolation variable is “https://api.acme.com/projects/issues.json”.

  • If the user now creates an XML data source, it counts as a new data source even if it also points to “https://api.acme.com/….”

Same Hostname and Port

Consider this:

  • “https://api.acme.com/…” and “https://acme.com/…” are considered different because in the first one, the host name is “api.acme.com” and in the other, “acme.com”

  • If the URL does not specify a port, the protocol has to be the same in both URLs. That is, if one data source points to “https://api.acme.com/” and the other to “http://api.acme.com/”, these data sources are considered different because one implicitly points to the port 443 (HTTPS) and the other, 80 (HTTP).

How To Change the Hostname/Port of a Data Source When the Limit is Reached

Denodo validates this restriction when the users create a data source and when they modify one. The implication is that if you have 4 JDBC data sources and the license restricts to 5 data sources, you can create any number of DF, JSON or XML data sources that point to the same URL and port. However, later you will not be able to modify the hostname/port of these data sources. For example:

  1. You are running Denodo Standard, which allows creating 5 data sources.

  2. You create 4 JDBC data sources.

  3. You create a JSON data sources that points to https://api.acme.com/projects/issues.json

  4. You create another JSON data source that points to https://api.acme.com/projects/projects.json. Even though Denodo has now 6 data sources, you are allowed to do it because the data source #5 and #6 have the same hostname and port.

  5. You try to modify the hostname of the data source #5 to https://api.acme.com/projects/issues.json. This operation will fail. You will not be able to do this change because if you did, the data source #5 would count as a new data source and you would end up with 6 data sources, which is higher than the maximum number allowed.

In case you need to change the hostname of these data sources, you will have to do this:

  1. Export the metadata of Virtual DataPort to a VQL file

  2. Delete everything

  3. In the VQL file, change the hostname/port

  4. Import this VQL file again.