IBM®
Skip to main content
    Country/region [select]      Terms of use
 
 
    
     Home      Products      Services & solutions      Support & downloads      My account     
 
developerworks > My developerWorks >  Dashboard > WebSphere eXtreme Scale V6.1 User Guide > Reference > ObjectGrid overview
developerWorks
Log In   View a printable version of the current page.
Overview Connect Spaces Forums Wikis
ObjectGrid overview
Added by dcberg, last edited by Chris.D.Johnson on Dec 18, 2008  (view change)
Labels: 
(None)

Getting Started Examples Reference API documentation

See the WebSphere eXtreme Scale Wiki for links to eXtreme Scale Version 7.0 documentation.
If you log in with your developerWorks ID, you can leave comments and feedback for the development team.

The ObjectGrid is a primary storage database that fits in the Extreme Transaction Processing middleware segment. It is not a traditional database and as such does not use secondary storage (writing to disk), as its mechanism for persistence.


Gartner defines Extreme Transaction Processing:

We define XTP as "an application style aimed at supporting the design, development, deployment, management and maintenance of distributed TP applications characterized by exceptionally demanding performance, scalability, availability, security, manageability and dependability requirements." This definition matches the profile of applications such as online business-to-consumer services (such as online trading, betting and travel booking), but also of other classes of applications, such as micro-commerce, real-time monitoring and management (such as "intelligent car" applications), radio frequency identification-based tracking, automated financial trading, convergent network services in telecommunications, real-time fraud detection or real-time risk management. These applications generate orders of magnitude more transactions than those created by traditional TP systems because of their wider (multi-enterprise, national and global) reach.
Gartner RAS Core Research Note G00131036


Overview

The ObjectGrid keeps the data close to the application logic, freeing up expensive or slow persistent storage devices. By operating in both a local or distributed mode, the ObjectGrid can provide solutions to several common problems. The following sections describe some of the high level scenarios where ObjectGrid can be used. See topic: ObjectGrid cache scenarios for more detailed information.

An in-memory cache

In the simplest case, the ObjectGrid can be used as an in-memory cache. It can be used to provide consistent, transactional access to temporary data within a single JVM. This can especially benefit high-concurrency applications where multiple threads need to access and modify transient data. The data kept in a local ObjectGrid can be indexed and retrieved using our query support or continuous query support. The ability to query the data can help developers greatly when working with large in memory datasets versus the limited data structure support provided with the JVM out of the box.

A shared coherent cache

The ObjectGrid can be used as a shared coherent cache, to provide transactional access to data to multiple components where a traditional database would otherwise be used. This can enhance the ease of development and deployment of the application by eliminating the need to configure the database. The cache is coherent from the point of view that all clients see the same cache, each piece of data is stored in exactly one server in the grid thus avoiding wasteful copies of records which would usually also be different versions. A coherent cache can also hold more data as more servers are added to the cluster. Each JVM holds a unique subset of the total data set. Larger clusters can both hold more data and service more requests for that data. This characteristic means it scales linearly as the cluster size grows. It also eliminates the need to push invalidation data around the cluster because there is no stale data, the coherent cache only holds the latest copy of each piece of data.

A traditional database "shock absorber"

The ObjectGrid can be used to front a traditional database and offload some of the work pushed to the database by eliminating read activity normally pushed to the database. A coherent cache can be used with an application directly or indirectly using an object relational mapper. The coherent cache can then offload the database or backend from reads. In a slightly more complex scenario, such as transactional access to a data set where only some of the data requires traditional persistence guarantees, filtering can be used to offload even write transactions.

A scalable, low latency, highly available, data store

The ObjectGrid is built to be extremely scalable and still provide the lowest possible latencies by providing the capability to execute logic local to the data thus eliminating network latency as well as serialization costs normally incurred.

In this scenario, the ObjectGrid is dynamically managed and is replicated and fault tolerant. However, the application is communicating with the local grid instance and the lifecycle of the application is coupled with the placement of the ObjectGrid.

Getting started

Visit the following topics for an overview of the various ObjectGrid features:

Wiki Disclaimer and License
© Copyright IBM Corporation 2007,2009. All Rights Reserved.


 
    About IBM Privacy Contact