"With MySQL we started down the typical database route of sharding and partitioning in order to scale, but we've known for some time that it would be much more effective to use HBase," says Satnam Alag, NextBio's VP of engineering. With HBase NextBio can just add nodes to a cluster in order to scale, spreading the storage and compute load across more servers.
Trusting that HBase could deliver "optimal write and read performance" and "orders of magnitude" higher scalability than MySQL, Alag says NextBio late last year implemented a small cluster exclusively for HBase work. It used a Hadoop distribution from MapR, which provides software as well as enterprise support and training. It took six months to bring the deployment into production, in large part due to the learning curve associated with HBase, says Alag.
NextBio's primary Hadoop system for MapReduce processing runs entirely on Apache open-source software, and the company does not use any third-party support. Where HBase was concerned, NextBio wanted MapR's help. The support is necessary, says Alag, because HBase still has "rough edges." For example, NextBio has had trouble with servers going down, and when that happens, it loses access to some of its data until those servers can be recovered.
"We're trying to figure out whether it's our code or the way we're using it that causes servers to crash," Alag says. "We hit HBase pretty hard, and we're constantly adding new data."
[ Want more on NoSQL databases? Read 2 Lessons Learned Managing Big Data In Cloud. ]
For the time being, NextBio is still running its MySQL-based correlation database as a backup until it can be more confident about HBase reliability. Alag says his company plans to test HBase release 0.92, a recent Apache software upgrade that promises greater resiliency and recoverability. For example, active replication has been added so live replicas of HBase clusters can be set up in separate data centers. This supports failover between sites in the event of a failure. The release also supports distributed log splitting, which speeds recovery after server failures.
Alag and analysts like Adrian of Gartner are confident the HBase reliability problems will be solved fairly quickly.
There are NoSQL alternatives to HBase, even within the Apache family. Apache Cassandra, for example, is a highly scalable, NoSQL database that's gaining popularity, but it has different strengths than HBase, according to Charles Zedlewski, VP of products at Hadoop distributor and training and support firm Cloudera.
"HBase is known for consistency, whereas Cassandra's strong suit is availability," Zedlewski explains. "HBase will always will always give you the right answer, but sometimes portions of the data go offline. Cassandra always supplies an answer, but it's not always up to data with the very latest information."
In recognition of these strengths, HBase tends to get used for write-heavy workloads. As an example, Cloudera customer eBay is using Hbase as the basis for a new search engine, code-named Cassini, that will handle search and search indexing across eBay's massive sites.
"If you have millions of merchants updating what products they have for sale on a daily basis, that's a write-heavy workload," Zedlewski says.
In contrast, Cassandra is usually favored when low-latency reading is of utmost importance but the content might not be updated all that frequently, Zedlewski says.
HBase is crucial to the Hadoop community because most developers want to write to databases, not file systems, says Zedlewski. Tabular access to data is what they're used to, and that's what HBase give them--all with big-data scale and NoSQL flexibility.