Commercial software company Northscale has changed its name to Membase. The move coincides with the first public release of its open-source NoSQL database, Membase 1.6.
For the past eight months, Membase has been undergoing an intensive beta period at Zynga. That company uses Membase as the storage engine for its popular Farmville Facebook game, as well as for other properties. James Phillips, senior vice president of products and cofounder of Membase, said Zynga was specifically looking for a replacement for its combination of Memcached and MySQL.
“If you look at existing database technologies, almost invariably you also need caching,” he said. “Zynga had hundreds of Memcached servers and sharded MySQL servers. Their application logic was writing to their MySQL and their Memcached layer, and managing these two discrete clusters.
“They were getting durability and administrator familiarity out of MySQL, and simplicity and performance out of Memcached. What they wanted was something that combined those two things into a single unit they could manage. Instead of sticking it in a cache and in a database, they wanted something that they could put the data into that could scale elastically, but was also available across partitions. Membase looks like and performs like Memcached, but also provides durability like MySQL.”
As a NoSQL, Membase is in the C and P corner of the CAP triangle (consistency, availability, partitions: choose two). That means Membase is immediately consistent and can function in a partitioned network. Phillips said there’s a reason Membase is not in the A and P corner, instead.
“If you look at A-P solutions, they require the application to be aware of the potential for lack of consistency. They require you to do quorum reads and writes, and to be aware of reads and writes and be in a posture to deal with conflicts,” he said.
“One of the holes in NoSQL is that it is, in many, many cases, far more appropriate to architect your software to minimize the risk of partitions and be able to deal with that instead of loading the application with a lot of complexity. A-P is hard. It’s hard from an application logic perspective. People have avoided these solutions because the application development model is so different.”
Though Membase is an open-source project, developers wishing to use the project in production environments can pay US$1,000 per node per month for service and support from Membase.