Overview¶
The multidimensional service is designed to store complex data for hydro modelling/predictions scenarios. The data are defined by multiple dimensions.
Storage size targets per dataset¶
- Spatial domain size up to 100 million elements (mesh or grid)
- Temporal domain size - up to 10 million time steps
- Vertical layers - up to 1000 layers
Storage design¶
The multidimensional dataset is decomposed during the import process and stored as a set of blobs in hierarchical structure
- Small set of blobs containing static definitions - metadata and spatial domain.
- Large set of blobs containing item data. These blobs can be added and updated over time.
- The number and size of the blobs depends on the selected storage strategy/option.
Blobs are stored in Azure blob storage
- Provides cost effective, reliable and scalable storage space with options for geo replications
- Implementation is provider based and allows other blob or file system storage implementations
Timestep and timeseries spatial data¶
Each dataset can be stored with specific options and optimized for:
- timestep oriented queries - retrieve limited timesteps for spatial area, e.g. display on a map
- timeseries oriented queries - retrieve continuous timeseries for isolated points
If both type of query patterns are needed, consider storing data twice to serve both timestep and timeseries oriented queries optimally. See details.
Service architecture¶
Query execution¶
Query is executed in stages:
-
Input is validated.
-
Based on the spatial type concrete index is constructed.
-
Based on the item storage type and dataset storage options, the appropriate storage query is executed.
-
The result output is formatted to either JSON or binary.