Eve Online is a massively multiplayer online role-playing game (MMORPG) set in space, in which players from all over the world fight, trade, plot and pirate their way across a gigantic 3D universe.
Unlike the world’s most popular MMORPG, World of Warcraft, which segments its player population across hundreds of different ‘realms’ (i.e. servers), Eve Online’s players all coexist in a single system. That means up to 50,000 players can be using the system at any one time.
“Whereas other companies can copy-and-paste their set-up into another data centre, we have to break through all sorts of barriers at a technological level to keep expanding the game,” says James Wyld, virtual worlds project leader at Eve Online’s developer and publisher, Iceland-based CCP Games.
Wyld explains that the workhorse of Eve Online’s back end is the database. “Everything in the game is stored in a SQL database, which is the persistent layer of our game,” he says. “So what we see are thousands of very small transactions all the time. If a player moves from one location to another, that’s a database transaction; if they buy something from [an in-game] market, that’s a database transaction.”
In 2005, player activity was generating so many transactions that the game’s IBM RAID array was developing access queues of several seconds “when they should have been taking milliseconds”. This resulted in reduced performance for gamers, a notoriously critical customer base.
The search for a solution led the company to Texas Memory Systems (TMS), a US-based vendor of storage systems based on solid-state drives (SSD), which have fewer mechanical components than traditional storage media and can therefore produce lower latency times. It was, Wyld recalls, “the beginning of a love affair with solid-state storage”.
“We put the hottest area of our database on the first TMS device we bought – a 64 gig machine – which solved the problem,” he explains. “Queues pretty much vanished, access time went back to milliseconds and players immediately noticed a huge performance boost across the entire game. Shortly afterwards, we smashed our record of concurrent users.”
Realising that the high-read, low-write nature of its workload was a perfect fit for solid-state storage, CCP continued to enthusiastically embrace TMS’s RamSan technology. Its most recent purchase, made early this year, was a Flash-based RamSan-500 with two terabytes of storage and the capacity to run Eve Online’s entire database.
“The total size of our database at the moment is about 1.5 terabytes, so we needed a device to tame the beast,” Wyld explains. “Migrating the data was a challenge because we had to take a fairly long downtime, and we didn’t have the technology to abstract the storage layer. But on the whole I have to say that it was fairly easy to do; these things plug into a storage array in exactly the same way as any other disk system. From the perspective of our database administrators, it works just like any other hard disk except it’s blindingly fast.”
The final judgement on that fell to Eve Online’s players, whom Wyld notes “are very quick to criticise when we do something wrong – and some of them you can’t seem to impress no matter what you do.” Early responses to the company’s adoption of TMS’s storage devices, however, were overwhelmingly positive, with typical examples including “Good job CCP, you deserve a monster cookie!” and “Get more of them”.