Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The EDS Delta Cache relies on a set of configuration files to implement the delta cache updates. These files define what resources (tables) to monitor for updates and what datasets to refresh in the cache if the resource change.
The Delta Cache process uses two methods for monitoring the changes in the tables:

...

The cache policies are JSON files stored in the eagle/estar/tpe/dynamic/metadata/custom/cachepolicies/ folder. All files with extension .json from this folder will be loaded by the Cache Manager.
Each file will define the cache policies for a set of resources and will define which datasets have to be updated when the resource changes.

Info
The file name e.g. rating.json must match the _id field within the file e.g. "_id": "rating",

Defining a Database Poll Cache Policy

...


When polling very big tables with no indexes on update date we can specify additional parameters to limit the amount of data we poll. Usually these parameters will map to table columns which have an index.


{
"_id": "ratingsrating",
"datasets": ["ratingsrating"],
"resources": [
{
"resource": "eagledb:SECURITY.RATINGS",
"changeNotificationType": "poll",
"parameters": {
"field": "UPDATE_DATE",
"pollIntervalSeconds": 10
},
"filter_definitions": {
"fromeffectivedate": {
"parameters": [
{
"name": "fromeffectivedate"
}
],
"bindings": [
{
"sourceProvider": "eagledb://oracle",
"filter": "MASTERTABLE.EFFECTIVE_DATE >= :fromeffectivedate"
}
]
}
},
"filter_values": {
"fromeffectivedaterule": "Today"
}
}
],
"cacheUpdate": {
"checkIntervalSeconds": 10,
"noUpdateActivitySeconds": 5,
"filter_values": {
"fromeffectivedaterule": "Today"
}
}
}


Common (predefined) filters can also be used in the resource definition:

{
"_id": "ratingsrating",
"datasets": ["ratingsrating"],
"resources": [
{
"resource": "eagledb:SECURITY.RATINGS",
"changeNotificationType": "poll",
"parameters": {
"field": "UPDATE_DATE",
"pollIntervalSeconds": 10
},
"filter_definitions": {
"common_filters": ["fromeffectivedate"]
},
"filter_values": {
"fromeffectivedaterule": "Today"
}
}
],
"cacheUpdate": {
"checkIntervalSeconds": 10,
"noUpdateActivitySeconds": 5,
"filter_values": {
"fromeffectivedaterule": "Today"
}
}
}

...