Menu

Home

Richard Krupa

DORRA (Data Objective Rather Relational Approach)

Forget data model, data definition is better!

Dorra

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.

Dorra basic metadata

Data Entity

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:

  1. Business Data Entity is what DWH users need to see in DWH. Subject of reports, subject of analyses.
  2. Technology Data Entity is what DWH developers need to see in the way of data definition.
    This classificaion has no impact to Dorra data manipulation processing.

Dorra knows these types of Data Entity with reference to its source:

  1. External Data Entity defined by input interface (external system defines data entity and its properties - see later)
  2. Internal Data Entity defined by Dorra (Dorra developer defines data entity and its properties)
    This classification has impact to Dorra data manipulation processing.

Dorra knows these types of Data Entity with reference to complexity:

  1. Complex Data Entity has data properties, which need computing effort to get to. Value of complex data entity is list of its properties, for example client and his/her properties.
  2. Simple Data Entity has no properties, or properties which are dependent on volue itself. Value of simple data entity is primery key itself, for example string(primary key) and its length(property).

Data Property

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

Data Definition is assigned to one and only one data property. Definition has two faces of one coin:

  1. Definition text sais business logic of property.
  2. Definition Procedure is executive code designed to produce data for data property. Definition Procedure is translation from business language to developer language.

Data Dependency

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.

Data Property Procedure

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

Data Input Interface is mechanism for:

  1. Determining External Data Entity and their properties
  2. Describing external system interface and source data objects
  3. Gainig synchronization data from source (calendar, data ready info, ...)

Data Report

Data Report references Data Properties and defines data for DWH clients.

Data Output Interface

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.


MongoDB Logo MongoDB