Versions Compared

Key

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

...

  • asof_date is effectiveDate parameter value if specified in RTR, otherwise it defaults to current date.

  • genericsmf_asof dataframe should be used when effectivedate is in RTR and is not current date (thus, security history should be used instead of security master) and global setting generic_smf_asof_mode is set to full (this setting should be set to this value if client has all records reloaded each and every day). cache_update_mode equal to dynamic refers to need to extract data from DB and build temporary data frame based on DB data.

  • genericsmf_asof_delta should be used when effectivedate is in RTR and is not todays current date (same as in previous case), but unlike previous case, client loads security data on delta basis, so security history data can be cached. In this case, effective_for attribute is used in dataframe node – to define which date should be used to pull data from dataframe.

  • genericsmf will be used in case if there is no effective date in RTR or effectivedate in RTR is current date.

Now, let us consider each dataframe. The first dataframe, genericsmf_asof, has two parameters required for creating a cache snapshot: effective_date and source, or, max_effective_date and source. It has cache mode set to none. It represents the 'cold' data as people would rarely use security data in the past. In case the condition is true, the mashup processing engine will fetch the security data snapshot and place it into dynamic short-lived cache.

The actual fetch from DB is going to be optimized by 2 factors: dynamic query profile, which will be built based on "columns" property in definition and ontology (which would allow one to map canonical elements into DB columns), and the fact that it would be executed concurrently while the main query of interface is performed. The result cursor will be placed into a "smart" descriptor, which uses in-memory compression and is able to effectively store "sparse" data. Due to all these factors, we expect almost no overhead related to this request. This descriptor would then be made available as a mashup dataframe.
The reason for 2 sets of parameters for creating snapshot is due to the fact that some clients keep security data inconsistently, not really following any of the 'full' or 'delta' modes. For those we will have to use 'max_effective_date' queries, which builds snapshot based on unique list of securities up to specified max effective date. Again, the actual processing of this query is still greatly optimized by the previously mentioned factors.

The second dataframe, genericsmf_asof_delta, assumes pure 'delta' mode storage of security data. It has cache mode set to 'full' and would be fully cached and 'effective for' pattern will be used if this dataframe is selected. In order to maintain up to date cache, this dataframe comes with delta cache update policy.
Finally, the third dataframe is genericsmf and it represents current snapshot of security master data. It is "hot" data which is fully cached and readily available and it also comes with delta cache update policy.

...