|Page maturity |
This page has maturity level 4 (mature)
|Document type:||Generic Function||Owner:|
|This function offers intelligent handling of data at the "unstructured data" abstraction level.|
This Generic Function belongs to Working Area Storage. A Retention Engine function presents data retention functionality beyond the four basic operations (store/retrieve/modify/delete). It can thus be seen as "adding storage intelligence" to Raw Retention functionality, which itself provides the basic storage operations. However, this intelligence can be characterized as "back-end facing": generally speaking the facility's consumers don't have (direct) access to it, only the administrators and back-end systems.
When present, the Retention Engine is positioned "between" the Raw Retention functionality and the consumers that want to retain data or manipulate retained data. This means that the consumers cannot "see" the data stored by the Raw Retention functionality directly. Instead, they "see" data as the Retention Engine presents it to them, while the data that's actually stored on the Raw Retention facility may be different (e.g. split in different blocks and augmented with parity blocks, as happens when storing data on a RAID-5 storage device).
Examples of Retention Engine operations are:
- adding and handling data redundancy;
- data integrity checking on retrieval/modification;
- data replication (usually to another instance of a Retention Engine);
- thin provisioning;
- meta-data reporting (e.g. space left on a physical or logical device).
Furthermore, the Retention Engine function may handle integration with other storage-related facilities, such as Data Protection & Archive Management.
Note that the storage intelligence that the Retention Engine brings acts on the lowest abstraction level for data, that of "Unstructured Data", managing sets of basic data elements, such as the bits and bytes on a hard disk.
Generic Patterns using this Generic Function
The following Generic Patterns use this function:
|Raw Storage||J.A.H. Schoonderbeek||4|
Applied versions of this Generic Function
The following variants of this function have been defined:
No Applied Pattern based on this Generic Pattern (yet)