Caching Solutions with GigaSpaces XAP
Caching data access is by far the most simple and effective solution for performance problems when it comes to data.
Data access has two basic operations associated with it: reading and writing data. Most applications read far more than they write, but every interaction with a database involves communication with an external application - and with today's distributed networks, where database servers can be hundreds of miles away from the machines doing the heavy lifting, every millisecond on the network counts against you - and caching saves you that time.
Distributed caches provide you with effectively unlimited memory for your data, and their distributed nature offers you reliability as well. The concept is referred to as an "in-memory data grid," or just "data grid."
GigaSpaces XAP gives you multiple efficient approaches to distributed caching.
Embedding the cache directly
The first option is to embed the in-memory data grid into your local processes, making them participants in the data grid itself. This means they have direct access, through multiple APIs like the SQL API, Map API, or tuple space access, to the entire distributed grid - and the multiple APIs mean that your reporting tools and other applications can access the cache without having to change.
Using an external data grid, cached locally
A second option is to use a service proxy to access the data grid - which actually doesn't change your architecture, only your topology. This means you have the ultimate flexibility to apply GigaSpaces XAP to your problem, instead of fitting your problem to GigaSpaces XAP's capabilities.
Migrating to Space-based Architecture
You can also apply tuple-based architecture to your entire product, and gain the scalability that GigaSpaces XAP offers to your processing capabilities as well as solving your caching needs.
Distributed caches do what you need
The distributed cache can be configured to match what your application needs, through synchronization of cache updates, or replication and backup of the cache so you never lose data. The cached data can be written asynchronously to other participants of the cache, or to your database, which gives you the reliability that your organization desires, at the level the application needs it.
What about data shared across applications written in different languages?
GigaSpaces XAP's cache even helps you with interoperability between Java, .Net, and C++! The entire cache serves all of your applications, with no need to rely on expensive synchronization through a database, or issuing slow SOAP calls between application layers.
Caching isn't all there is.
Of course, a distributed cache is only the first thing GigaSpaces XAP offers you. Caching isn't always enough: it allows you to grow the cache as you add instances to the system, but that leaves the maintenance up to you, and offers you reliability for your data... but what about your processes?
Scaling on demand should happen automatically, not on execution of a work order, and not with a project plan to add scaling to your application. With GigaSpaces XAP, your application is already ready to scale, because it's been designed to take on your application as it is and offer you the ability to tune it beyond your expectations
For Data Grid FAQ, click here









