For the Data Load Controller documentation, click here.
Overview
The Data Load Controller supports managing data within Atoti FRTB. It provides an interface between the ETL (Extract, Transform Load) layer and the management of what data is loaded into Atoti FRTB. There are three main parameters in this interface (all of which are configurable):- Operation: the operation the DLC performs. Typically, this is load or unload.
- Topics: the list of data sources defined in the ETL for which to perform the operation. Topic aliases are used to easily specify groups of topics.
- Scope: a filter on the data to be loaded. For example, to load/unload data for a particular as-of date.
Initial load
Starting up the application triggers the initial loading of data. This is managed programmatically within the Solution, with Spring beans initiating the loading of topics and scopes at startup. For more information, see Initial Load.Data Orchestrator
Beyond the initial data load, the data orchestrator is a custom external component that is responsible for managing (loading and unloading) data in Atoti FRTB. For example, the same process that copies the data ready for the Solution to load can also use the REST service to tell the Data Load Controller to trigger the loading of the data into the Solution.REST Service
The DLC provides a REST service, which the data orchestrator or other external components can use to manage the loading and unloading of data in the Solution. The DLC REST API has two endpoints:- execute: for loading and unloading data.
- status: to check on a previous command.
The previous
/frtb-starter/connectors/rest/dlc/v1/execute endpoint still exists but is deprecated. Refer to the DLC documentation for the full API reference.Execute
Forexecute, requests use POST and send JSON objects with the
following fields:
Operation: ‘load’ or ‘unload’.
- load: load the data according to topic and scope.
- unload: delete data from the datastore according to topic and scope. This doesn’t depend on how or when the data was loaded.
This doesn’t delete reference data that was added as part of the data normalization. For example, if you delete sensitivities, the corresponding risk-factors are not removed.
Loading data into a branch
Specify a branch for a data update by adding thebranch field
at the top level of the request body. On the ‘load’ feature, it is used to
find the resource to load (mainly the path for the file). On the
‘unload’ feature, it is used to build the remove criteria (Condition).
For example, here’s how to load new FXData on the “test” branch: