BigMemory + Ehcache = a Terabyte Per JVM
Java clustering infrastructure provider Terracotta today launched a release canadidate of version 3.6 of its namesake in-memory software solution with upgraded versions of both its BigMemory and Ehcache technologies.
Terracotta is probably best-known for its commercial development of Ehcache, a widely deployed open-source Java caching solution the company acquired in 2009. Enterprise production deployments of Ehcache, which is available under an Apache 2 license, are estimated to be in the hundreds of thousands. It ships as a component in Hibernate ORM, the Spring Framework, Alfresco CMS and the Liferay portal. The beta version of Ehcache 2.5 is part of the Terracotta 3.6 bundle.
But another product, BigMemory, is earning the company a lot of attention these days. Unveiled at last year's JavaOne conference, this pure Java Ehcache add-on is designed to provide an off-heap cache for an instant large memory footprint for hundreds of thousands of Java applications. BigMemory allows Java apps to cache 64 GBs or more of data in an off-heap store that's not subject to garbage collection.
"With this release, a single Java application can go up to a terabyte per JVM," explained Terracotta's vice president of product management Mike Allen, "which means that if you have a cluster of JVMs you can go to the 10+ terabytes in a cluster. That's huge!"
"Memory is becoming ridiculously cheap," he added. "I'm talking about RAM here. SSDs and flashdrives are also cheap, and provide a faster alternative to rotational drives, and they help. But cheap RAM is the big message here. It's cheap, but it has been difficult for applications to leverage."
Terracotta's new Automatic Resource Control (ARC) solves this problem, Allen said, by enabling dynamic allocation of memory across multiple caches with automatic load balancing and memory-based cache sizing at CacheManager and Cache levels. In other words, it allows developers to tune cache sizes by setting a maximum number of bytes. ARC is designed to improve the efficiency of memory use by eliminating iterative performance tuning.
ARC is built into the Ehcache core, and works across commercial Ehcache and server products. Its available now in the open source version of Ehcache, as well as the commercial Enterprise Ehcache and BigMemory.
BigMemory was originally introduced to the Java community as a solution to garbage collection pauses for data-hungry applications, said Terracotta CTO and co-founder Ari Zilka in a statement. But this release uses BigData to unlock not only the JVM, but all the server hardware. The result is microsecond access to all of an application's data, not just a small subset.
"Applications that use our open source interfaces can snap-in enough scale to grow to terabytes of data and millions of requests per second on one-tenth the hardware it takes today," Zilka said. "This release of BigMemory changes all the assumptions around BigData, databases, SSDs, NoSQL and more."
This is the company's first software release since it was acquired by German business process management vendor Software AG in May. Now a wholly owned subsidiary, Terracotta operates as an independent business unit.
The San Francisco-based organization is the founder of the open source Terracotta project, which clusters Java Virtual Machines (JVMs) to create a shared memory pool at the Java application tier, which can then be used to share data among servers. This shared memory pool can also be employed to coordinate the work of many JVMs. The company's Java infrastructure solution is a commercial offering based on the open-source project.
General availability of Terracotta 3.6 is expected in October.