Data Grid Pattern


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


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.


Use the Data Grid pattern when

  • processing significant amount of data in memory.


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.


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


  • 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.


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


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.