/  14
 
WebSphere
 ®  ® 
 
Extreme ScaleExtreme ScaleIBM Extreme Transaction Processing (XTP) Patterns: Leveraging WebSphereExtreme Scale as an in-line database buffer 
 
IBM Extreme Transaction Processing (XTP) Patterns:Leveraging WebSphere Extreme Scale as an in-line databasebuffer 
Lan VuongWebSphere Technical Evangelist, XTPIBM RTPApril, 2009© Copyright International Business Machines Corporation 2009. All rights reserved.Keywords: write-behind cache, JPA loader, WebSphere eXtreme Scale, caching, cache, XTP,ObjectGrid, Performance, Extreme Transaction Processing, OpenJPAIn this paper, we will illustrate how to optimize the performance of an application by leveragingWebSphere
eXtreme Scale as the intermediary between the database and the application. Thisarticle will provide an overview of the theory and implementation of the write-behind cachingsolution and JPA loader concepts. We will then review an example business case coupled withsample code to demonstrate how to deploy these features.
 
Introduction......................................................................................................................................2Defining and Configuring Key Concepts.........................................................................................3What is a “write-behind” cache?..................................................................................................3Configuring the write-behind function........................................................................................4What is a JPA loader?..................................................................................................................4JPA Loader Configuration...........................................................................................................5Exploring an Example Business Case..............................................................................................6Use Case: Portal Personalization.................................................................................................61. Populating the database........................................................................................................72. Warming the cache...............................................................................................................83. Generating load on the grid..................................................................................................94. Results..................................................................................................................................9Conclusion.....................................................................................................................................12Resources.......................................................................................................................................12Acknowledgements................................................................................................................13
Introduction
Applications typically use a data cache to increase performance, especially where the application predominantly uses read-only transactions. These applications directly update the database for changes in the data. The issue here is that as the load increases then the response time on theseupdates grows. Databases are not good at executing lots of concurrent transactions with a smallnumber of records per transaction. Databases are much better at executing batched transactions.Eventually, the database will saturate the CPU or disks and at that point the response time willrise as additional load is added. Conventional in-memory caches are also limited to only storingwhat can fit in the free memory of a JVM. Once we need to cache more than this amount of datathen thrashing occurs where the cache continuously evicts data to make room for other data. Therequired record must then be read continually thereby making the cache useless and exposing thedatabase to the full read load. This paper shows how WebSphere eXtreme Scale can allow all of the free memory of a cluster of JVMs to be used as a cache rather than just the free memory of asingle JVM. This allows the capacity of the cache to scale linearly as more JVMs areincorporated. If these JVMs are on additional physical servers with CPU, memory and network,then this allows linearly scalable, constant response time, servicing of read requests. It can also provide linearly scalable, constant response time, servicing of update requests by leveraging itswrite-behind technology. The linear scalability of WebSphere eXtreme Scale makes it ideal tohandle extreme transaction processing (XTP) scenarios. XTP is defined by Gartner as "anapplication style aimed at supporting the design, development, deployment, management andmaintenance of distributed TP applications characterized by exceptionally demanding performance, scalability, availability, security, manageability and dependability requirements.”(1)In this paper, we will illustrate how to optimize the performance of an application by leveragingWebSphere eXtreme Scale as the intermediary between the database and the application.WebSphere eXtreme Scale is a highly available, distributed in-memory cache with manyadvanced features to boost application performance. The write-behind function batches updatesto the back-end database asynchronously within a user configurable interval of time. The

Share & Embed

More from this user

Add a Comment

Characters: ...