Business has been growing fast for eHarmony -- so fast that the popular online matchmaker decided to migrate from
Microsoft SQL Server to an Oracle 10g infrastructure to meet the need for greater scalability.
The yearlong migration process began in late 2005, when -- faced with the prospect of more than 10,000 singles signing up for eHarmony's service via the company's website each day -- IT executives with the Pasadena, Calif.-based firm concluded that Microsoft SQL Server had reached its limits.
"Scalability was the main issue with [Microsoft SQL Server]," said Mark Douglas, eHarmony's vice president of technology. "We just physically outgrew it because it doesn't have the same kind of functionality that [Real Application Clusters] provide with Oracle."
One of the main reasons eHarmony decided to get off Microsoft SQL Server had to do with locking, the process by which the system makes individual rows of code non-writeable when they're being accessed by more than one user at a time, according to Douglas.
"The way locking works in SQL Server becomes a big scaling issue over time," he said. "We're running anywhere [up to] 1,000 transactions per second, so that turns into hundreds of thousands of locks, and it just is not scalable."
Douglas added that there are ways to get around the locking issue in Microsoft SQL Server, but they would have required the company to make significant changes to its homegrown, Java 2 Enterprise Edition-based matchmaking application.
"Instead, we chose to move to Oracle," he said. "There is a minimum amount of locking in Oracle, so it scales a lot better."
As eHarmony geared up to make the jump to Oracle, a lot of changes had to be made, and each and every one of them had to be tested, re-tested, and tested again, according to Douglas.
eHarmony had to change its applications, its reporting environment and even some of its data, which was stored differently in SQL Server.
"Just about everything that touched the database, which is pretty much everything we have, had to in some way change," Douglas said. "And [those changes] had to be thoroughly tested. Everything had to work."
Before going live with Oracle last December, eHarmony conducted 100 straight days of testing and scripted every move to ensure as little downtime as possible when the final switch was made.
"We essentially moved 100 days in a row before we actually did it permanently," Douglas said. "You couldn't have any data loss, and so it was a pretty involved effort."
Oracle 11g still a ways off