Data Grid Pattern

Intent

Define a tool that can be used to store and process significant amount of data.

Motivation

An organizations stores data in a database. Growing amount of data causes delays in processing of data. The delays are result from using a hard to scale relational database. Adding more computational resources does not lead to an ability to handle more load.

You can avoid this problem by introducing a data grid to the data processing infrastructure. A data grid is a group of computers connected by a high-speed local network that allows storing and accessing significant amount of data.

Applicability

Use the Data Grid pattern when

  • processing significant amount of data in memory.

Structure

A Data Grid consists of a group of computers connected by a high-speed local network, also known as a cluster, running specialized data grid software.

Participants 

  • Cluster member
    - a hardware node running data grid software
  • Grid management software
  • Network
  • Application
    - software that uses data grid to store and process data

Collaborations

  • An Application obtains data from a slow Data Source and puts it into a Data Grid. The Data Grid evenly distributes the data across the members of the cluster. The application accesses the data stored in the Data Grid.

Consequences

The Data Grid pattern has the following benefits and drawbacks:

  1. It eliminates the need for accessing a slow data source. The application can access data stored in the distributed memory provided by the Data Grid.
  2. It promotes linear scalability. More data can be processed by adding computer nodes to the Data Grid.
  3. It increases the complexity of the infrastructure. A set of computer nodes and a high-speed network is needed to implement a Data Grid

Implementation

The following implementation issues are relevant to the Data Grid pattern:

  1. Data Grid may require a separate switched subnetwork to contain cache coherence traffic.

Labels

 
(None)