InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

IBM ObjectGrid Distributed Transactional Cache Available

Posted by Floyd Marinescu on Jul 06, 2006

Sections
Development,
Architecture & Design
Topics
Java ,
Performance & Scalability ,
Clustering & Caching
Tags
Commercial Product Releases ,
IBM ,
ObjectGrid
IBM has been quietly working on ObjectGrid, a distributed cache product as part of their Websphere Extended Deployment platform. ObjectGrid however is available as a standalone product that can work in other commercial or open source appservers.  Some key differentiators include transactional access, authorized cache access via JAAS,  scalability to 100's of JVMs, etc. An evaluation version of ObjectGrid is now available from IBM (11 MB download)  which is fully functional on time-limited basis (functions for an hour after every restart).  ObjectGrid is available to WebSphere Exended Deployment and also standalone licensing.  

ObjectGrid can be used in a peer to peer fashion or a multi-tier where an ObjectGrid server coordinates with front-end JVMs to move data around.  The interface into ObjectGrid is the Map based like most similar products (except Terracotta which clusters at the JVM level); the ObjectMap interface has insert/get/update/remove/invalidate verbs as well as access to indexes for queries.  "But, we don't endorse the Java Map API for caches as it's not suitable and has many issues. Our ObjectMap interface is similar to be Map but doesn't extend it. We provide limited Java Map support using a helper class available on the ObjectMap",  Billy Newport (Websphere XD lead) mentioned to InfoQ.

On the advanced features of ObjectGrid, Billy said:
It offers full support for map partitioning and replication. It offers full integration with Spring from a configuration point of view. It offers an open architecture for all advanced capabilities. There are plugin points for all extension points. Open source projects such as Jofti have mentioned that ObjectGrid is the only cache product with builtin integration hooks for third party indexing. It includes a servlet 2.3 filter which allows HTTP sessions to be persisted to an ObjectGrid cluster using affinity or no affinity. Full distributed locking is supported. It leverages the HAManager from WebSphere 6.0 even in standalone mode. It allows recoverable cache preloading which is important when a JVM loading gigabytes of data fails at 99% completion. The backup process can resume from 99% instead of restarting from scratch. It was designed from the ground up for security and can integrate with any security system for both authentication as well as authorization. We support builtin indexing of data held in the cache using advanced optimistic algorithms which ensure high performance in the presence of R/W transactions. It offers a true client/grid model where clients can have a local ObjectGrid which pulls/pushes from a grid which is shared between clients. This offers support for thousands of clients if necessary.
JAAS by Billy Newport Posted
Consistency by Mikael Gueck Posted
Re: Consistency by Floyd Marinescu Posted
Re: Consistency CSQL Cache Distributed Cache using Main Memory database by kanchana p Posted
How to get it for free... by Jason Carreira Posted
Re: How to get it for free... by Floyd Marinescu Posted
Re: How to get it for free... by Billy Newport Posted
Distributed Cache Comparison by pascal stern Posted
  1. Back to top

    JAAS

    by Billy Newport

    Obviously it can work with JAAS but more importantly any non JAAS security system (and there are many) can be plugged in also. Acegi from Spring should also be integratable pretty easily.

  2. Back to top

    Consistency

    by Mikael Gueck

    What was that Open Source thing you were speaking of, IBM?

  3. Back to top

    How to get it for free...

    by Jason Carreira

    Hey, allright! I'm going to set up a cluster of machines sharing the distributed cache and set them each to reboot every 55 minutes! ObjectGrid will rebuild caches and keep going when a node goes down, right? ;-)

  4. Back to top

    Re: Consistency

    by Floyd Marinescu

    What was that Open Source thing you were speaking of, IBM?


    I believe Billy was saying that you can run ObjectGrid in any Java EE appserver, be it commercial or open source.

  5. Back to top

    Re: How to get it for free...

    by Floyd Marinescu

    Hey, allright! I'm going to set up a cluster of machines sharing the distributed cache and set them each to reboot every 55 minutes! ObjectGrid will rebuild caches and keep going when a node goes down, right? ;-)

    Hey, now that would be a great test of it's HA features. You'd have to stagger the shut downs to allow for other nodes to fail over to.

  6. Back to top

    Re: How to get it for free...

    by Billy Newport

    Damn :)
    Yep, you could do that but you still can't go in to production with it given the license. It's funny, I was thinking this as we were discussing the best way to time bomb it without crippling it function wise in any way

  7. Back to top

    Distributed Cache Comparison

    by pascal stern

    Hi Bill
    How do you differentiate ObjectGrid with other competitors like Coherence from Tangosol ?
    It seems that both have identical features :
    transactional access, authorized cache access via JAAS, scalability ...

  8. Back to top

    Re: Consistency CSQL Cache Distributed Cache using Main Memory database

    by kanchana p

    CSQL cache provides updateable bidirectional table granular cache for any database system.

    For it capabilities check this blog


    Project sourceforge.net website


    If you planning to use it for production purposes, then you shall get support from Lakshya solutions. check this site for more info on this

Educational Content

Jesper Boeg on Priming Kanban

In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.