|Page maturity |
This page has maturity level 4 (mature)
|Document type:||Generic Pattern||Owner:|
|This Pattern offers functionality for the storage and retrieval of unstructured data at a single, logical location; it may also provide "intelligence" to administrators and/or consumers.|
This Generic Pattern belongs to "Core". This Pattern offers functionality for the storage and retrieval of "unstructured data" at a single, logical location; optionally it provides advanced functionality ("intelligence") to administrators and/or consumers. It has the following characteristics:
- operates on data at the lowest abstraction level, i.e. "unstructured data" (e.g. bits and bytes),
- located at a single logical location,
- access by general or dedicated storage network facilities (indicated by Data Transport),
- the ability to perform storage related "intelligent" tasks, such as replication, migration, encryption and data reduction. This intelligence is characterized as "back-end facing" intelligence; generally speaking the facility's consumers don't get (direct) access to it, only the administrators and back-end systems.
As examples: realizations of Raw Storage can include:
- SAN storage cabinets,
- (the back-end of) NAS appliances,
- hard disk solutions such as RAID arrays.
This Pattern realizes the following service(s):
- Raw Storage (This service offers to store, manipulate and read data at the level of "unstructured data".)
Functional and Integration view
This is the graphic representation of the functional model of this Generic Pattern:
Generic Pattern Composition
This pattern is an aggregation of the following (mandatory and optional) functions, expressed in Generic Functions:
|Retention Engine||recommended||This function provides "intelligence" to the storage solution with respect to its handling of the stored data, with the aim of meeting the quality requirements, improving infrastructure management, and/or providing sufficient performance. It may handle migration/replication to other instances of itself, encryption, reduction, and other "standard" storage-related processing. Note that for some types of functionality an implementation/realization of Retention Engine may need to invoke another implementation/realization (e.g. for replication/migration over longer distances, there likely is a separate realization in each physical location).|
|Raw Retention||recommended||This function handles the actual retention of data at the "unstructured data" level. It supports the actions creation, reading, updating and/or deletion of the data.
Physically this function can be realized with devices containing (re)writeable media, such as Solid State Disks, hard disks, tape, optical media et cetera.
|Caching||optional||An intelligent storage facility may use Caching functionality to increase its capacity to receive and/or return data on request.|
|Controlling||optional||If implemented, this function can be used by administrators, and possibly by authorized clients, to change the way the Pattern works. Among the changes that can be made via this function are:
Care must be taken to limit access to this function to authorized systems and users.
|Encryption||optional||This function ensures that all data gets written in an encrypted form; after this, any reading, updating, and possibly deleting, can only take place if a client can offer this Pattern the right encryption key. If an implementation of this Pattern is to help maintain the Confidentiality of the data contained, then this function is required.|
|Reduction||optional||To increase the data capacity of the Pattern, the Reduction function may be used to reduce the size to the data actually stored by Raw Retention, compared to the size of the data offered to the Pattern by its clients. Usually this Reduction function works lossless, meaning that upon access, the data can be reproduced exactly as it had been offered. Reduction of unstructured data can take place by different means, mainly data compression algorithms and/or sparse volumes/thin provisioning.|
Services connected with this Generic Pattern
This Generic Pattern has the following mandatory and optional relations with adjacent Generic Services.
|Authentication & Authorization||optional||This service can validate an identity claim, and it can validate the permissions required for an action, as part of an Authentication & Authorization process.||This service may be needed to limit access to the Controlling function and/or the Pattern as a whole to authorized clients.|
|Data Protection Management||optional||This service provides the ability to protect data against accidental or wilful corruption.||If the data stored in this Pattern requires one or more secondary copies (backups), then this service can create and manage these.|
|Data Transport||optional||This service transports data between automated systems.||This service is needed to transport the data from the clients to the Pattern and back. Raw Storage facilities often use specialized Data Transport services, instead of the generic "network" services.|
Applied Patterns based on this Generic Pattern
The following Applied Patterns are based wholly or in part on this Generic Pattern: