Forget data model, data definition is better!
Dorra is framework for data definition, data manipulation and data dependency management. Dorra is batch oriented - processing data per business date (value date). Dorra is business logic free. Business logic is included in data definition, which is derived from requirements of DWH users. Dorra does not define architecture of DWH nor data layers. These are subject of specific implementation; every DWH reflects needs of their users. Dorra tries to take responsibility of data materialization and preffers very simple data model of business data. Business data model is implicitly stored in data definition and data dependencies; these are stored in Dorra metadata and does not reflect explicitly on data model.
Data Entity is what DWH tries to describe.
Each Data Entity defines primary key property (see later).
Data Entity may have other properties exclusive of primery key property (see later)
Dorra knows these types of Data Entity with reference to DWH actor:
Dorra knows these types of Data Entity with reference to its source:
Dorra knows these types of Data Entity with reference to complexity:
Data property is assigned to one and only one data entity.
Data property value is from domain of some data entity. Complex values (values of complex data entity) is referenced through primary key property.
Data property is once set and never changed in one processing date. Data property can vary through days.
Data Definition is assigned to one and only one data property. Definition has two faces of one coin:
Data Dependency is managed through Data Property Dependency. Definition of data property may be in terms of another data properties of several data entities. This is implicit definition of Data Dependency. This dependency is explicitly stored by designer of data property. Dorra developer tool may help find these dependencies by highlighting texts referencing another data property.
Definition procedure text contains placeholders, which are translated in runtime. These placeholders are references of data properties data and are modeled as database query. Data dependency defines which placeholders are to be transfered.
There are several rules which must be kept - these are not technicaly forbidden, but are essential to keep responsibilities in right places in Dorra Machine:
a) It's forbidden for procedure to reference directly physical data structure of Dorra managed data; this may change, so Dorra translate placeholders for procedure in runtime.
b) It's forbidden for procedure to interfere directly physical data structure of Dorra managed data; Dorra materializes procedure result. The rule for gaining result is part of data property metadata.
c) Any data stored by procedure for approaching more difficult data transformations belongs to specific runtime process. Dorra offer placeholders for temporary data containers, which are translated in runtime to safe names containing process id and so on.
Data Input Interface is mechanism for:
Data Report references Data Properties and defines data for DWH clients.
Output Interface is responsible for transfering data defined in data reports in the manner of DWH client requirements. It may notify DWH client about readiness of specific data report.