Guest
Welcome login
Share/Save
Share/Save
TIBCOmmunity > Blogs > ActiveSpaces > 2009
Home   Members Communities

ActiveSpaces





Previous Next
4

One of the first things I want to address on the subject of datagrids is a mistake that I have heard way too many people make: a distributed cache is NOT a Datagrid!

 

Many people use the two terms interchangeably because I believe they focus only on the 'distributed' part which both types of systems have in common but doing so, they totally forget about the implications of the 'cache' part:

 

A cache can not be used as a System Of Record.

 

One of the properties of a cache is that it can evict entries that have been previously put in it, in order to make room for newer entries. And when a cache evicts an entry, it does it quietly and without telling any of it's clients about it. This means that you can not 'trust your data' to a cache as it could disappear from it at any time, but rather you have to use it in a 'cache-aside' architecture to cache a proper System Of Record. Querying a cache does not give you an authoritative answer like a System Of Record would: if there is nothing in the cache that matches your query you do not know if that is because matching data was never put in it, or because there was something but it was evicted and you therefore need to perform the same query again in the System Of Record (thereby negating the performance advantage of using a cache) to get it.

 

ActiveSpaces however can be used as a System Of Record because it will not evict entries from the Spaces, even if this means that a new call to insert data into a Space can fail if there is not enough memory currently available in the cluster to store a new tuple in the Space. Fortunately, ActiveSpaces makes it very easy to increase the amount of memory available to a Space: just launch another instance of your application or an agent process, no reconfiguration needed, no down-time required.

4 Comments Permalink
8

Hello and welcome to the ActiveSpaces blog!

 

ActiveSpaces is TIBCO's upcoming Data and Messaging Grid product. Technically ActiveSpaces is a distributed in-memory implementation of the Tuplespace concepts.

 

Hiding beyond this mouthful of technical terms, ActiveSpaces is a fundamental part of the infrastructure that will enable what is described by TIBCO's CEO as the Enterprise 3.0.

 

A Tuplespace (typically simply referred to as a "Space") can be seen as a form of distributed shared memory: an entity in which data (expressed as Tuples (i.e. 'database rows')) can be concurrently access by multiple processes. Because the data is stored in memory, storage and retrieval of the Tuples is faster than when using a disk-based system. And because it is distributed, it scales according to the number of participants.

 

ActiveSpaces is a middleware that greatly simplifies the job of Enterprise application developers, providing them with an easy to use interface for data storage and retrieval (Data Grid) and process coordination (Messaging Grid) and allowing them to concentrate on implementing the business logic. Using "Space Based Architecture" (SBA), developers can very easily create distributed, event-driven and scalable (i.e. "Elastic") applications.

8 Comments Permalink