GP.File Storage

From OIAr
Revision as of 14:54, 7 May 2013 by Jan Schoonderbeek (talk | contribs) (GP added)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


This is a Generic Pattern document GP File Storage Version: 0.5 OIAr logo
Document type: Generic Pattern Owner:

J.A.H. Schoonderbeek



Description

This Generic Pattern belongs to "Core". This Pattern offers functionality to store, retrieve and modify data in loosely structured form. The Pattern has the following characteristics:

  • located at one logical location,
  • may offer the ability to perform storage related "intelligent" tasks, such as replication, migration, encryption, compression and data deduplication. This intelligence may be characterized as
    • "back-end facing" intelligence; functionality that the facility's business clients don't get (direct) access to, only the administrators and back-end systems;
    • "front-end facing" intelligence; functionality that the facility's business clients can directly access and make use of.

Note that File Storage is always implemented on top of some form of Raw Storage. As a consequence, an Applied Pattern dealing with file storage is often based on both the File Storage Generic Pattern and the Raw Storage Generic Pattern.

As examples: realizations of File Storage (and Raw Storage under it) can include:

  • Content Management Systems (CMS) and alike solutions,
  • (the front-end of) NAS appliances,
  • file share servers.

Note: it's possible that the solution is to make use of Business Rules (e.g. for data deduplication or automatic migration of data to nearline/offline storage). If this is the case, then this pattern must be combined with the corresponding functions.

Services realized

This Pattern realizes the following service(s):

  • File Storage (This service offers clients the ability to store, retrieve and modify data in loosely structured form.)

Functional and Integration view

This is the graphic representation of the functional model of this Generic Pattern:

Generic Pattern for File Storage
Generic Pattern for File Storage


Generic Pattern Composition

This pattern is an aggregation of the following (mandatory and optional) functions, expressed in Generic Functions:

Icon Function Inclusion Rationale
GF.File Engine icon File Engine recommended This function handles the actual storing/retrieving of loosely structured data such as (but not restricted to) files or documents. It serves clients such as end-users or systems (among which application engines and database servers). To that end, this function offers a storage structure that fits the data to be stored, such as a file system for files, and an interface over which data can be offered or retrieved.

The File Engine provides "intelligence" to the file 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, de-duplication and other "standard" storage-related processing. It also can handle granular, file-based permissions. Note that it requires access to Raw Storage services to physically store the bits and bytes that make up the instances of loosely structured data.

GF.Controlling icon Controlling recommended This function can be used by authorized administrators (and possibly authorized clients) to change the behaviour of the Pattern. Examples are:
  • Restoring (partial) back-ups;
  • Capacity & Performance Management;
  • Provisioning;
  • Rules Management, with which the stored data can be manipulated using metadata, usage, usage patterns, or other information that the Pattern may hold or obtain.

Care must be taken to limit access to this function to authorized systems and users.

GF.Caching icon Caching optional The Pattern may use caching functionality to increase its capacity to receive and/or return data on request.

Services connected with this Generic Pattern

This Generic Pattern has the following mandatory and optional relations with adjacent Generic Services.

Service Adjacency Summary Rationale
Raw Storage recommended This service offers to store, manipulate and read data at the level of "unstructured data". All "loosely structured data" eventually will have to be stored on some physical device, where it is treated as "unstructured data" or "raw bits". Putting this Service under the File Storage pattern delivers this ability.
GS.Authentication+Autorization optional A&A will be required for one or more of the following uses:
  • access to the Controlling function, that may influence aspects of this Pattern's behaviour ranging from facility management to self-service provisioning of storage space;
  • permission validation for read/write/modification/deletion actions on the loosely structured data being stored;
  • permission validation for actions such as backup, restore and archiving.
Backup Management optional This service provides the ability to create and manage backups, and to restore (parts of) those backups. Combining this Pattern with a Backup Management service always serves to create secondary copies of the data stored by the Pattern, with the aim of being able to perform a (partial or complete) restore of the data, in the original location or an alternative location.

Note that the Backup Management service is usually under control of IT Operations, but may occasionally be offered to clients directly. This impacts the Controlling function inside the Pattern.

Archive Management optional This service provides the ability to create and use archives. Combining this Pattern with an Archive Management service always serves to create a primary copy of the data stored by the Pattern at a different physical location. This can be to satisfy legal or other user requirements, or to free up storage space in this Pattern.

Note that the Archive Management service is usually under control of IT Operations, but may occasionally be offered to clients directly. This impacts the Controlling function inside the Pattern.

Applied Patterns based on this Generic Pattern

The following Applied Patterns are based wholly or in part on this Generic Pattern: