EXtremeDB, McObject's in-memory, object-oriented database, helps MyYearbook meet the high performance demands of the social networking site.
MyYearbook.com uses an application that generates heavy database processing demands as traffic builds. To meet that demand, it's implemented McObject's eXtremeDB database, an in-memory system, to meet the high performance needs of the social networking site.
For example, one application on the MyYearbook.com site is a BlindDate system that allows participants to supply questions about themselves with their preferred answers. MyYearbook presents a description of the person along with a questionnaire that has three choices for each answer. To be matched up with the question's supplier, a person needs to answer the questions in the way the submitter prefers.
"We give you three choices to answer a question about another person. If your answer is deemed compatible, we match you up," said Jonah Harris, a senior database administrator who supervises use of the special matching algorithm and application on the site.
Most participants like to submit a lot of questions about themselves and their favorite foods, pets, and music in hopes of weeding out unwanted attention and finding someone with a similar outlook, lifestyle, and pattern of thinking about the world, said Harris in an interview. Two hundred is usually the minimum number of questions submitted, but 2,000 isn't uncommon. In one case, a BlindDate participant submitted 8,000 questions. To match up that many answers with those of someone seeking a blind date is a tough assignment for the standard relational database system.
Harris tested a relational system with that task and it took 800 milliseconds, or nearly a second, to complete. He timed it with eXtremeDB, an in-memory, object-oriented database system, and it took 76 microseconds, or 76 millionths of a second. In both cases the database and application were running on the same four-CPU server, each CPU containing four cores; it also used 128 GB of random access memory.
The time required by the database must be added to the time required for application processing and network latencies involved in delivering a response from MyYearbook.com. Harris wants that response returned as quickly as possible and he opted for the in-memory system over a standard relational database.
MyYearbook.com, an early user of eXtremeDB, was launched in 2005. It is also a user of the open source PostgreSQL system for relational database work, Harris said.
Oracle and other vendors offer embeddable database systems, both relational and non-relational. Harris said he considered TimesTen, an in-memory relational system, as an option but opted for eXtremeDB because he didn't like "the way you program against it."
Object-oriented databases are sometimes easier to implement when dealing with complex data, as opposed to data that fits into rows and columns. A multiple choice questionnaire with thousands of unique questions is a source of complex data, though Harris said part of the speed of eXtremeDB lies in its implementor's ability to get a complex answer from the questionnaire down to a 1.5-byte representation in the database.
In-memory systems speed database response times by eliminating the need to go to disk. High performance Web applications are taking on more in-memory characteristics, from caching the data they use in memory to putting the objects that make up the application in memory as well.
How Enterprises Are Attacking the IT Security EnterpriseTo learn more about what organizations are doing to tackle attacks and threats we surveyed a group of 300 IT and infosec professionals to find out what their biggest IT security challenges are and what they're doing to defend against today's threats. Download the report to see what they're saying.
IT Strategies to Conquer the CloudChances are your organization is adopting cloud computing in one way or another -- or in multiple ways. Understanding the skills you need and how cloud affects IT operations and networking will help you adapt.