Terabyte-sized Java Apps Now Possible
The new version of the Terracotta distributed Java caching software is able, for the first time, to aggregate more than a terabyte of pooled memory for a single application and its data, the company announced this week.
The software, Ehcache 2.2, can also hold up to several hundred million Java objects in a single cache, according to Terracotta's CEO, Amit Pandey. He added that this terabyte of memory can be run from as few as 10 servers.
The update also features a new management console, intra-data center communications capability and a new common runtime library that the company claims will help reduce memory and bandwidth usage.
Memory caching software such as Ehcache can be used to host large applications and their data entirely within the working memory of a set of servers, which speeds the response time because no calls to disk need to be made during operations.
Terracotta is not alone in serving the market for multiserver Java-based enterprise applications. Last week, Oracle announced an upgrade to its Coherence distributed data grid software, which also can be used to run large-scale Java applications.
Although Ehcache is under an Apache open-source license, Terracotta maintains the Ehcache source code, assuming the role of a company called Ehcache that Terracotta purchased last year.
Worldwide, about 150,000 to 200,000 applications use Ehcache, according to company estimates.
"Ehcache sits in between the application and database and caches the most frequently used data," said Jeff Hartley, a vice president of products and marketing for Terracotta. "You don't need to size your database to handle the peak load. It can be sized at a much lower level, because the cache is able to serve from memory the data that is most frequently needed."
Previous versions of the open-source software could scale to about 100GB or so, according to the company. Before this release, the largest cached Java deployments Pandey has seen have been only about 200GB in size, and most deployments range in size from 2GB to 20GB.
"Building any cache greater than, say, 50 gigabytes is very complex and involves manual work for developers and operators and can be very hard to maintain," Pandey said. "What we have done enables developers and operators to employ a terabyte-scale cache with several hundred million objects."
The pooled memory could be used to run a single instance of an application, multiple instances of a single application, or multiple applications, Pandey said.
Organizations with large databases backing their Java programs may want to consider using Ehcache, Pandey said. An organization could put their entire database into memory, which would reduce the latency of the application by "a couple of orders of magnitude," he said.
In addition to the increased size of deployments, the new version provides a number of new features. One is a set of authentication capabilities that use the widely deployed Light Directory Access Protocol to log in users.
The software has updated its scheduler and Web sessions configuration panels. The console can also offer a cluster-wise view of all nodes. The new software can also be run across different geographic areas via wide area networks, which no longer confines a deployment to a single data center. This feature can help in organizational disaster recovery and continuity of operation plans.