Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Worth adding HBase?

Much below Stolen from their overview page (All needs to be confirmed): http://hbase.apache.org/

WRITTEN IN: Java

MAIN POINT: Hadoop Database

LICENSE: Apache

PROTOCOL: A REST-ful Web service gateway

This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware.

HBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Hadoop. HBase includes:

Convenient base classes for backing Hadoop MapReduce jobs with HBase tables

Query predicate push down via server side scan and get filters

Optimizations for real time queries

A high performance Thrift gateway

A REST-ful Web service gateway that supports XML, Protobuf, and binary data encoding options

Cascading, hive, and pig source and sink modules

Extensible jruby-based (JIRB) shell

Support for exporting metrics via the Hadoop metrics subsystem to files or Ganglia; or via JMX

HBase 0.20 has greatly improved on its predecessors:

No HBase single point of failure

Rolling restart for configuration changes and minor upgrades

Random access performance on par with open source relational databases such as MySQL

FOR EXAMPLE: Facebook Messaging Database

BEST USE: Use it when you need random, realtime read/write access to your Big Data.



I disagree with the notion of "No single point of failure" with HBase. While it's true that they got rid of the old hard SPOFs, if a data ("region") node fails, there's a decent chance you lost some data (there's a short period of time where data hasn't been replicated to HDFS and is ONLY only the master for that region) at least until you can bring that node back up (hope you've got reliable RAID/backups or it wasn't destroyed). HBase is a CP system.

There's also a region master re-election/recovery period that depends on the size of the database, network bandwidth, load, etc. It can be anywhere from 30 seconds to tens of minutes. An outage of a region node makes it's key range inaccessible. While that might not be a problem for some, especially in read-only situations, I can think of many applications where that would effectively translate into a total outage.


I'll question you on one point: "Use it when you need random, realtime read/write access to your Big Data."

Does HBase now do a good job of random access? I was always under the impression that it did random access adequately, but it's real strength was with scans (based on ordering of keys).


Here's an informative presentation about how HBase has (massively) sped up random access, as of version 0.20: http://www.docstoc.com/docs/7493304/HBase-Goes-Realtime

I did benchmarks on a previous version, and the results were pretty miserable (600ms/lookup on a table with several million columns). It certainly sounds like they've improved.


I stand (very happily) corrected.


Thanks, Gordon, I put it in (shortened some lines).

It would be great to have a "more general" for-example, since noone outside Facebook meets the problem of "let's build Facebook's messaging database" :) Any suggestions?


There might be something you can glean from:

http://wiki.apache.org/hadoop/Hbase/PoweredBy




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: