DirectQuery

DirectQuery allows data to be queried directly from an external database without first loading it into Atoti Server’s in-memory datastore.

In Atoti Market Risk, DirectQuery can be used alongside the in-memory datastore or instead of it. Where historical data might have previously been loaded at the summary level to save memory, it can now be stored at trade level in an external database. A much smaller cache of the summary-level data can be kept in memory to maintain performance and reduce the need to query the external database.

Integration

For details on how to connect your Atoti Market Risk instance to a remote Database, see the Getting Started with DirectQuery developer documentation.

Preview

This version of Atoti Market Risk includes a preview of DirectQuery support for ClickHouse and Microsoft SQL Server. This preview includes configuration for those databases, but DirectQuery features have not been fully tested. The preview configuration classes can be found in the com.activeviam.mr.preview package.

Currently, DirectQuery does not support What-ifs, Sign-Off, or data updates. These features are only available using the in-memory datastore.

DirectQuery Data Access

With DirectQuery you can query data from a database in Atoti Server. At query time, the data is aggregated on the external database and sent to Atoti Server for further calculations.

At start-up, Atoti Market Risk will populate caches of summary data by querying the database for these aggregated values. This means that queries at the book and desk level will be as fast as the in-memory datastore and the only time the external database is used at query time is for trade-level queries.

Read-only access to the external database is sufficient for Atoti Server. It does not write to the database.

Deployment Options

It is possible to load all your data using DirectQuery. However, to take advantage of the features that are only available using in-memory data, we suggest a hybrid approach with the most recent COB dates loaded in memory and older/historical COB dates loaded using DirectQuery.

The hybrid approach uses horizontal distribution:

  • Recent COB dates are loaded into an in-memory data node
  • Historical COB dates are available in a DirectQuery data node
  • A query node seamlessly combines the data

Supported Databases