Data Access
- What does the business ruleset priorization do?
The priorization is used, when combining different business rulesets in the accesslayer
If two rulesets have a different result for a field, then the value of the higher priorized business ruleset is taken. In other words, if both rulesets contain a value for a column, then the value of the higher ranked business ruleset will be taken.
Note
In case that the higher ranked value is NULL, then the next lower available value is taken.
- How can the data efficiently be queried from the DWH?
In principle, you should try to keep the query layer virtual as long as possible, so that it can be adapted agilely without reloading.
However, denormalization in the dimension model and the calculation of business rules may need to be improved for performance reasons.
This is particularly the case when reporting applications do not cache the results.
The approach is to create a materialized business vault. To do this, a new source of type “Business Vault” is first created in staging. This source allows direct access to the business rules and to stage the data within the database.
Then the procedure is the same as for the original sources: Another hub load is defined for an object and the data for this object is written to a satellite.
Based on this satellite, further business objects can now be created, which practically outputs the stored data 1:1 into the access layer.
Note
To further improve this process,
you can then also disable the hub loads in the business vault load job, since the keys usually are already in the hub from the original load.
you should consider to also enable a delta logic for the processing of changed information into the business vault.
- How can a role concept be realized for the access layer?
Everything the Datavault builder does is transparently implemented on the database. Therefore, you can use all the features that the database brings along to implement a custom data access concept.