Technical Note: Indexing for Envision Data Sets
Technical information about indexing for Envision data sets.
Supported Envision Versions: 1.0, 1.1, 1.2
MongoDB limitation on size of index entries / workaround
When a data set is defined in Envision, accompanying collections are generated in the MongoDB METRIC_RAW_DATA and METRIC_ROLLUP_DATA databases.
These collections will include generated indexes with names of the format <data set name> UIDX, and will consist of all dimensions defined for the data set.
MongoDB restricts the size of entries in such indexes to less than 1024 bytes; it is possible that records collected for the data set will exceed this limit, and if that happens those records will not be written to the collection.
Because of this limitation, it might be necessary to modify the MongoDB <data set name> UIDX indexes for a data set that has many (or lengthy) dimensions to include only those dimensions that will be used often in Envision charts defined on the data set.
Envision support for the API Platform provides a pre-defined data set called API Operational Metrics Data Set. When an Operational Metrics policy is defined that selects many or all dimensions, there is a possibility that the metrics records that are collected might exceed the Mongo index limit for the API Operational Metrics Data SetUIDX indexes on the API Operational Metric Data Set collections in the METRIC_RAW_DATA and METRIC_ROLLUP_DATA databases.
If this happens, the indexes should be manually updated to exclude dimensions that are not critical to chart performance.