This article is part of an Essential Guide, our editor-selected collection of our best articles, videos and other content on this topic. Explore more in this guide:
3. - The technology that backs the business plan: Read more in this section
- When planning a big data architecture consider these four factors
- Got Hadoop? Four factors to weigh prior to deployment
- AltEgo brings online avatars to life with in-memory database caching
Explore other sections in this guide:
AltEgo LLC is using in-memory database caching technology to help its users more effectively manage their online identities.
The Santa Monica, Calif.-based avatar technology and games developer turned to Terracotta Inc. -- an in-memory technologies provider recently acquired by Software AG -- when increased traffic to its servers started causing some troubling bottlenecks.
AltEgo specializes in providing individuals with their very own avatars -- a single online identity that can be used to represent a person across multiple social networking and gaming sites, including Facebook and Twitter. The idea is to allow the user to present a unified image to the online universe.
"We implemented MySQL to store all of our user data and all of our avatar data and we had some severe load problems," said Dustin McCartney, a programmer and architect with AltEgo who helped implement the in-memory technology from Terracotta. "Whenever we'd have a certain number of users connecting simultaneously our servers could not keep up with the requests. They were just getting hammered."
Terracotta's in-memory computing technologies have allowed AltEgo to store user and avatar data in-memory and much closer to the company's core application, McCartney said. The result has been less wear on the MySQL database and more reliable service for AltEgo's users.
McCartney has been pleased with Terracotta's products portfolio, though he admits that it has room for improvement in one key area.
"They've got a search functionality that allows us to search through the datasets and run queries on the cached data," he said. "It is somewhat primitive and we've actually been talking with them about improving the ability to search through data."
In-memory database caching technology holds information within random access memory (RAM) where it is more easily accessed by applications. The technology leads to increased speed and greater scalability because applications spend less time reading data stored on disks.
In-memory technologies have grown more popular in recent years as the price of RAM has dropped. Oracle, with its TimesTen Database, and SAP, with its HANA In-Memory appliance, are two examples of large vendors that have gotten into the in-memory computing game.
For more on in-memory computing
Read about in-memory database technologies from Oracle and SAP
Learn more about in-memory analytics tools
Read about the obstacles to in-memory database adoption
A closer look at Terracotta
Software AG acquired Terracotta last June, saying that the company's technology would bolster its cloud offerings and significantly increase the scalability of its business process management platform.
Prior to the acquisition, Terracotta made a name for itself by providing open source distributed caching and in-memory computing technology for Java applications to more than 500,000 enterprises worldwide. The company offers three main products, including Enterprise Ehcache, BigMemory and Quartz Scheduler.
Organizations add Enterprise Ehcache to Java-based applications to improve performance and increase scalability. The software also makes it easier for organizations to take advantage of distributed caching, according to Software AG. BigMemory speeds things up further by greatly reducing the need for garbage collection functions in Java applications.
"The more memory you give to a given Java process -- the more memory you allocate to its heap -- the slower garbage collection is," McCartney said. “Because of BigMemory we can keep our garbage collection times very low."
Based on the open source Quartz project, Quartz Scheduler is an enterprise-grade product that runs alongside Java applications. Software AG says the product allows users to conduct job execution tasks on single or multi-node configurations.
Terracotta hit a milestone in 2010 when the company came up with a way to store data on RAM outside of the virtual machine in which a Java application runs, according to Gary Nakamura, Terracotta's general manager.
As a result, "We didn't have to run into the implications of tuning," Nakamura said. "It was a significant breakthrough to the point where we couldn't find a hardware box big enough to exercise our software."