Static Reference Data Enrichment

Enrich events using core slow moving reference data stored within the Joule in-memory database


A key feature of the v1.2.0-SNAPSHOT release is ability to add static reference data to events

Slow moving reference data such as customer, contracts, daily prices, mathematical constants etc are important data elements when applying rule based triggers for business functions. Joule provides this feature by exposing the internal Joule database and importing files via the initialisation process, see initialisation documentation for further details.

Architecture

The Joule implementation architecture for static reference data leverages the internal Joule database. Data is imported in to the Joule processing via the initialisation process.

Static Data Enrichment DSL

The enricher processor provide users to the ability to enrich an event with multiple data elements through the use of enhanced mapping.

Example

enricher:
  fields:
    with_values:
      by query:  "select * from fx_rates where symbol = ?"
      query fields: [symbol]
      with values: [exchange_rate]
      using: JouleDB

    as_object:
      by query: "select * from fx_rates where symbol = ?"
      query fields: [symbol]
      as object: true
      using: JouleDB

    all_attributes:
      by query: "select * from fx_rates where symbol = ?"
      query fields: [symbol]
      all attributes: true
      using: JouleDB

Key Attribute

To be able to direct the enricher to use the Joule in-memory database apply the below setting to the using DSL attribute.

AttributeDescriptionData Type

using: JouleDB

This directs the processor to bind to the in-memory Joule database

String

Not supported

The by key attribute is not supported when using the Joule in-memory database.

Last updated