Static contextual data
Enrich events with essential slow changing data from Joule’s in-memory database.
Objective
The enricher enables users to enhance events with multiple data elements through advanced mapping.
Slow-moving contextual data such as
Customer information (i.e. subscriptions, product interactions)
Contract pricing
Product skews
Daily prices
Financial market data such as; FX rates, interest rates, start of day market index levels etc;.
Complex engineered ML features
are essential for rule-based triggers in business functions.
Joule supports this by using its internal database and allowing data import during the initialisation process (see documentation for details).
Uses
There are various uses for this filter such as:
In retail Utilise static discount rules and seasonal pricing stored in the in-memory database to automatically apply the latest price adjustments to product events, supporting personalised promotions.
In financial services Leverage exchange rate data by querying an in-memory database, enabling real-time currency conversion and accurate, timely financial calculations in customer-facing apps.
In transportation Enrich vehicle routing events with fuel price data stored in-memory to enable efficient route adjustments based on the latest fuel costs, supporting cost-effective logistics.
Architecture
Joule's architecture for handling static contextual data relies on its internal database, with data imported during the initialisation phase.
Example & DSL attributes
This code defines an enricher that enhances events with data from the JouleDB
using SQL queries. There are three enrichment strategies:
with_values Retrieves the
exchange_rate
for a givensymbol
using a SQL query from thefx_rates
table.as_object Retrieves all details as an object for a given
symbol
from thefx_rates
table.all_attributes Retrieves all attributes for a given
symbol
from thefx_rates
table.
Each enrichment uses a query with symbol
as the key to fetch data from the JouleDB
store.
Not supported: The by key attribute is not supported when using the Joule in-memory database.
Attributes schema
To direct the enricher to use Joule's in-memory database apply the setting to the using
DSL attribute.
using: JouleDB
Directs processor to bind to the in-memory Joule database. No further storage configuration is required.
String
Last updated