JavaZone 2009 - How to avoid rotten data and remain responsive
“You have twenty server instances running. Available bandwidth is measured in gigabits, and your application’s user interface has been carefully designed to satisfy the high customer expectations. But there is one ugly flaw in this pretty picture: How can the monolithic, centralized database handle the load?”
In practice, any scalable web application uses object caching, both to reduce database load and to improve response time. But creating efficient mechanisms for cache management is hard, especially in distributed environments such as clusters or clouds. Important challenges are data freshness, data consistency and fault tolerance.
Several products promise to reduce the burden by providing automatic object cache management among distributed servers. Notable examples are Ehcache, memcached and Oracle Coherence.
At BEKK, we have studied several such products. Our results indicate that finding the right solution with a proper setup is critical for performance. This talk presents an overview of our experience, including benchmarks.
Jon Grov
Jon Grov is a Manager in Bekk Consulting. He has more than 10 years experience working with enterprise systems and open-source software, both as developer and manager.
From 2004 to 2007, Jon was employed as researcher and lecturer by the Department of Informatics, University of Oslo. His work focused on scalability, data replication and transaction processing. In 2006, he worked on the EU-funded project GORDA as visiting researcher at the Distributed Systems Group in the University of Minho, Portugal. The goal of this project was to characterize and improve existing solutions for transaction processing in replicated databases.
