Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 1 Introduction : Usage Profiles

Usage Profiles
The ActiveSpaces data grid can solve a variety of application problems. The nature of the problem determines the best ActiveSpaces configuration. You should consider the:
The optimal architecture for your application also depends on whether the application is being built from scratch as a space-based application, or is being augmented for scalability, or is space-enabled.
Distributed Data Cache
You can use ActiveSpaces as a distributed data cache to store copies of data that is too expensive to fetch or compute. Data is distributed across multiple machines, so that cache size is limited only by the aggregate memory of all peers participating in the space. A distributed database cache aside architecture reduces database hits by caching database reads. Database updates invalidate the cache.
ActiveSpaces keeps the cache synchronized across any number of hosts, eliminating the costly operation of going to a disk. Data is fetched quickly from an in-memory data cache across a local network. The space handles coherency and locking.
In-Memory Operational Data Store
A real-time data store aggregates data from multiple sources to speed processing. Real-time data stores are often used to integrate real-time feeds such as market data, airline reservation data, or other business data, making the data instantly available for efficient processing. The data must be highly available, and the system must process large data sets and transient, volatile data.
Space-Based Architecture
When designing a new system from scratch, a space-based approach provides several advantages:
Grid Computing
Grid computing refers to using multiple machines or nodes to solve a large computing problem. A complex problem is decomposed into smaller pieces that can be executed across many machines in parallel.
ActiveSpaces can improve analytical processing of large data sets because it allows you to co-locate and invoke processing of the data directly on the nodes that store the data. Because ActiveSpaces stores the data in a distributed manner over many machines, processing is naturally and transparently distributed.
Deployment Models
ActiveSpaces has two deployment models:
Peer-to-Peer Deployment Mode
You can deploy ActiveSpaces-enabled applications in a true peer-to-peer configuration where all processes are direct peers to each other and there are no “servers” or “clients,” but rather seeders (contributing nodes) and leeches (non-contributing nodes).
This deployment mode yields the highest performance level, but requires all processes to establish bidirectional TCP connections with each other. In peer-to-peer mode, it is also recommended (although not absolutely required) that all the peers be physically interconnected by LANs (Local Area Networks) or MANs (Metropolitan Area Networks) rather than by WANs (Wide Area Networks).
You cannot use peer-to-peer deployment mode if there is network address translation between any of the peer machines.
Remote Client Deployment Mode
In this deployment mode, seeder processes (which can be seen as “servers”) are full peers to each other and fully interconnected by TCP connections, as described above. Any number of applications can access the seeders as remote clients by making a single TCP connection to one of the ActiveSpaces agent processes, which act as proxies for the remote clients. Remote clients can connect to their ActiveSpaces agent proxies over any network topology that supports TCP connections, including WANs.
You can use this deployment mode even if there is a one-way firewall or network address translation between the remote client and the full peer proxi(es).

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved