Data Management and Scalability
Each loaded scenario holds an independent (compressed) copy of the input data, and each executed scenario holds an independent copy of the results. For very large models, performance can be improved by removing from the schema entities that do not strictly need to be persisted. These should be marked in the Mosel annotations as
!insight.manage ignore for the corresponding entity element.
For the input data, this would include input data that does not change from scenario to scenario. Such input data could be loaded from a model resource or a data source during the
RUN mode of model execution. The entities in this fixed data should be marked as ignored entities by the companion file.
![]() |
Note Unmanaged (ignored) entities are not persisted or made available to a client through the server API. This drawback can be remedied by calculating in the model useful aggregated metrics from the fixed data and recording these in the results data.
|
Depending on the requirements of the application, it may be possible to improve the performance for handling large volumes of results data by persisting calculated metrics rather than the results data in its entirety. It is possible to engineer the model to make the selection between persisting metrics or the full results data based on a runtime parameter that could be set per scenario. The actual Mosel mpvar/linctr entities would be optionally excluded from the results and copied to an equivalent set of basic type entities that are included in the schema as results. If the copy step is skipped, then the empty entities will occupy negligible space for most scenarios.