Network Computing is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

New Terracotta Product Keeps Java Apps Speedy

Terracotta has introduced a new beta product that solves a significant problem with enterprise Java applications: that they slow down when data overflows memory capacity. BigMemory is an add-on to the company's Enterprise Ehcache software that stores database information in an application server rather than having to retrieve it from disk storage. The software addresses a chronic problem with Java Virtual Machines (JVMs) called "garbage collection," which happens when outdated data still resides in memory and slows application performance until it is removed. For example, flight schedules for September 13th on a travel Web site are useless on September 14, but they still take up space in memory.

A typical JVM slows down if there is more than 4GB of data stored in memory. Garbage collection is intended to remove such data, but it takes time and JVM performance may slow enough to violate service level agreements. "A lot of companies have spent hundreds of millions of dollars trying to build better garbage collectors and build specialized hardware for it," says Amit Pandey, CEO of Terracotta. "When we ran into the problem, the 'A-ha' moment for us was to say we need to cheat the garbage collector and just sidestep the whole issue."

BigMemory can plug in to Terracotta's open source-based Enterprise Ehcache database cache and the company's Hibernate database. With BigMemory, applications can cache as much as 350GBs of data in what the company calls an "off-heap store" that's not subject to garbage collection. Terracotta Enterprise Ehcache customers and Hibernate users can "flip a switch," Pandey says, to add the BigMemory capability, once they pay for the extra license. BigMemory serves both standalone and distributed JVMs. Pricing for BigMemory is unavailable and the product won't go on sale until October.

In-memory data caching has become necessary for large-scale applications because latency increases if the applications have to retrieve data from a distant database server or disk storage. Pandey says the difference between going to in-memory cache and storage for data is like the difference between going to the kitchen for a cup of coffee and going to the moon. In-memory cache is often used at  websites that generate a lot of traffic, such as social media sites, online gaming sites or bank and travel websites.

"Once [apps] become successful, they just proliferate," says Pandey. "That's driving lots of data and performance requirements for these applications. They want to put as much of the data associated with these apps into memory as they can." Terracotta competitor Azul Systems has a product that minimizes the garbage collection task, and Oracle is expected to introduce a similar product soon, but Terracotta points out that BigMemory bypasses the garbage collection problem altogether.