CTO Ari Zilka Says Terracotta is Fast
Join the DZone community and get the full member experience.Join For Free
Visually compose APIs with easy-to-use tooling. Learn how IBM API Connect provides near-universal access to data and services both on-premises and in the cloud, brought to you in partnership with IBM.
Zilka opened the interview by saying that Terracotta 3.1.1 is the fastest server they've ever benchmarked on the market. Terracotta payed third-parties to compare their server to Memcache, JBoss cache, and solutions from large companies such as Oracle and IBM. Zilka proclaims, "We're already three to ten times faster than everyone, but the new Terracotta server in 3.2 looks like it's going to be about 4 times faster than the current Terracotta server." Zilka says the benchmarks are not out yet in public form, but the numbers are out. The benchmarks are based on Spring PetClinic with third-party experts tuning each of the options. Zilka said, "We actually tied our hands behind our back and forced ourselves to run with defaults - no special tuning." He confidently told DZone that we could quote him on these stats.
DZone asked Zilka to talk about the performance stats of Terracotta's recent Hibernate product. He said that Terracotta's mission for Hibernate was to go in and figure out what's slow about Hibernate internally. Terracotta took the liberty of speeding up some performance opportunities and now, Zilka says, "Hibernate 3.2 or 3.3 runs faster on Terracotta than it runs with any other caching vendor under it - by far - by a factor of 10x. We released a Hibernate product that everyone should be using basically. Terracotta gives you Hibernate spread out accross a bunch of Tomcat boxes, working correctly, which most vendors cannot do. That means if I upadate the Hibernate internal data on one node, the other nodes see that update as if they'd made it themselves."
Hibernate for Terracotta also has visibility tools that can look into Hibernate caches in Terracotta's cluster. Users can remove cache entries, stop or start caching, and tune caches. Zilka says this can all be done in real-time without stopping and starting your application. "It's completely unprecedented," He said. "We're basically talking about the most coherent, correct cache shared accross nodes."
With scaling and performance bottlenecks in the database, Zilka says more people are trying distributed caching. He says with Terracotta, you can "Take the app you already have, go inside your Hibernate config, change two things in there, and that'll bolt your hibernate application to a Terracotta server, offloading the database and making your app use the database about 90% less." That figure is based on Terracotta's customer survey poll, Zilka said. The poll also showed that application responsiveness increased by a factor of ten. "The benefit is that ORM becomes completely high-performance and low-latency and not just easy, persistent, and safe," Zilka concluded.
DZone asked Zilka what Terracotta was working on now. Zilka said, "We're actually folding our Hibernate product inside what we call the EHcache family of products." It's something that he thinks is unique in the industry. He says, now that Terracotta has Hibernate integration that's fast and easy, and EHcache which is ubiquitous and powerful, they've brought everything together. Zilka says Terracotta has "given people a platform that scales from 1 node to 1000 nodes just by using EHcache and/or Hibernate and nothing else." Terracotta's products can even scale applications as high as the cloud without changing a line of code. Zilka says with with Terracotta, you get all of these performance and scalability capabilities in one open source solution.
The last thing Zilka talked about was the public beta of EHcache management tools that was recently released. He said, "It's a first step towards giving people an environment where they understand and control their caches like experts." Terracotta provides a purpose-built management center to monitor EHcache content, but you don't need to switch to Terracotta to use these tools. Zilka calls these "canary tools". He says that you'll know when an application node with EHcache inside is becoming unstable, because the cache will change in size or stop returning data. This warning from the cache comes minutes, or sometimes hours before the CPU detects a problem. The management console for EHcachec can plug into open source monitors like Hyperic, Nagios, or Ganglia to set rules for cache behavior. "It also has the actual "canary" concept built-in where it will squawk at you when things look generically unhealthy," said Zilka. "We have over 100,000 production deployments, so we know what a healthy cache and an unhealthy cache looks like." Zilka says the GA release of the EHcache management tools is coming in the next couple of weeks.