Interview

Membase – A New NoSQL Database

Jessica Thornsby
Membase-A-New-NoSQL-Database

JAXenter speaks with NorthScale’s James Phillips, on new NoSQL database, Membase.

Membase is the latest NoSQL solution, produced
by NorthScale, Zynga and NHN. With the first public beta recently
released, JAXenter spoke to NorthScale’s senior vice president of
products, James Phillips, about what unique features Membase has to
offer, and the link between Membase and memcached…..

JAXenter: Can you explain what exactly membase
is?

James Phillips: Membase is an open-source
distributed, key-value database management system optimized for
storing data behind interactive web applications. In the parlance
of Eric Brewer’s CAP Theorem, membase is a CA database: It is
consistent and available.

JAXenter: How is membase related to
memcached?

James Phillips: Membase was founded by
committers of the memcached project. For those familiar with
memcached, membase provides on-the-wire protocol compatibility, but
adds disk persistence; hierarchical storage management; data
replication; live cluster reconfiguration and rebalancing; and
secure multi-tenancy with data partitioning. Membase directly
incorporates memcached “front end” source code, leveraging the
memcached engine interface, guaranteeing compatibility today and in
to the future.

JAXenter: Co-developers NHN and Zynga are also
the first customers of NorthScale Membase Server. What customer
base are you targeting with this product?

James Phillips: Membase will appeal to those
customers who have had the most to gain from using memcached —
highly trafficked and interactive web applications. These
applications must service many concurrent users; creating, storing,
retrieving, aggregating, manipulating and presenting data in
real-time. Supporting these requirements, membase processes data
operations with quasi-deterministic low latency and high sustained
throughput. It scales linearly from a single-server deployment to a
cluster of thousands of machines. And because membase does not
require creation of a schema before storing data, it is a flexible,
cost-effective place to Store Lots of Stuff.

Target customers are companies with interactive web apps that
serve large numbers of users. Early adopters will be companies like
Zynga and NHN, but these types of applications (i.e., interactive
web applications with large numbers of users) are increasingly
deployed by enterprise companies like financial institutions,
health care providers, online retailers and others that must
service millions of customers, delivering “snappy” applications
that keep those customers happy.

JAXenter: NoSQL is gaining more and more
momentum, and solutions like Cassandra, Jackrabbit, HBase etc. are
already well known. Is there a certain niche you’re aiming to fill
with membase?

James Phillips: There isn’t a niche per se, but
if companies are using memcached already to scale their web apps,
we’re betting that membase can be a very attractive alternative.
The reactions we’ve seen so far has been positive and indicative of
this.

When designing membase, every decision was vetted against three
non-negotiable requirements. The software had to be simple, fast,
and elastic.

First, simple. Membase is extremely easy to manage, and simple
to develop against. Every node is alike in a membase cluster –
clone a node, join it to the cluster and press the rebalance button
to automatically rebalance data to it. Membase enjoys the widest
language and application framework support of any NoSQL database
technology due to its on-the-wire protocol compatibility with
memcached.

Second, fast. Membase distributes data and data operation I/O
across commodity servers (or VMs), replicates data for
high-availability, transparently caches data in main memory,
persists the data using a multi-tier storage management model
(supporting both on- and off-node SSD and spinning disk media), and
auto-migrates data to the lowest-latency storage tier in response
to observed data access patterns. It is a consistently low-latency
and high-throughput processor of data operations. It is
multi-threaded, with low lock contention; it automatically
de-duplicates writes and is internally asynchronous everywhere
possible.

Lastly, elastic. Membase scales elastically, with linear cost.
Servers can be added to, or removed from, a running cluster with no
application downtime. Employing commodity servers, virtual machines
or cloud machine instances, data management resources can be
dynamically matched to the needs of an application with little
effort.

 

Author
Comments
comments powered by Disqus