Skip to content

Overview

The multidimensional service is designed to store complex data for hydro modelling/predictions scenarios. The data are defined by multiple dimensions.

image.png

Main features

  • Scalable
  • Queryable across all dimensions, does not load whole dataset to memory during query processing.
  • Cost effective
  • Updatable - support both append and replace
  • Multitenant - support secured multiuser access

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 filesystems 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 continous 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

image.png

Query execution

image.png

Query is executed in stages:

  1. Input is validated.

  2. Based on the spatial type concrete index is constructed.

  3. Based on the item storage type and dataset storage options, the appropriate storage query is executed

  4. The result output is formatted to either JSON or binary