disclosure: I am a Hypertable MapReduce contributor, and this post has nothing to do with increasing publicity of the project, the opinions presented here are the opinions of my own
One of the most important google stack components is BigTable, the underlying data store. With it's proven scalability and availability characteristics, there was no wonder that sooner or later some open source alternative would have been created. I have already described the underlying concepts in an earlier post, and here's the link. Now on to the open-source free alternatives.
As of present day, there are two open source projects underway, which are based on the original BigTable publication. The projects in question are:
- Hypertable
- Hbase
The first difference between these two projects is in the language used in the development of these. Hbase stems from the Hadoop project, and as such it's written in Java, whereas a Hypertable is a from scratch C++ implementation aiming for the highest performance. By the nature of these projects Hypertable has yet to develop a larger community, while Hbase is enjoying a full-fledged community of supporters and contributors coming from the Hadoop project (which is also backed by Yahoo engineers). This is, however, not the only difference. In fact there are many more. During my experiments with Hypertable and Hbase I had a genuine feeling of superiority of the former compared to the latter, starting at the easier compilation process, deployment process with provided scripts, a promised (which is now ready and available) Thrift broker enabling different language bindings (think Ruby, Python, PHP, etc. ), as well as overall perceived performance (and in fact, that's how I decided to start contributing to Hypertable, instead of Hbase). For some more unbiased information on Hadoop and Hbase you could refer to this Wikipedia article.
If you feel like experimenting with these new tools of the trade, preparing for scaling your web application, web service, or planning for an data storage schemes that can give you an extra level of flexibility, then while not yet ready for the prime time at the time of writing this post, Hypertable at version 0.9.1.0 is actually worth checking out. I'd say more, I encourage you to do so because if done right it might some day replace old MySQL - at least in most of the scenarios! Being prepared might give you a serious advantage, as you never know when you'll have to handle the flash-crowd from your garage.
The good starting point when it comes to using Hypertable, is a project wiki located at http://code.google.com/p/hypertable/w/list, and of course the README file located in the downloaded source code package. You could download the source code package here.
Mr Wong
Vote for Open-source alternatives to BigTable:
|
Rating: 9.33 out of 6 vote(s) cast.
|
Thanks for asking about the missing detail.
The Perl language bindings are included in Hypertable in a Thrift IDL files :
src/cc/ThriftBroker/Hql.thrift and src/cc/ThriftBroker/Client.thrift
You'll need a Thrift compiled and then use it to generate desired language bindings.
There's a python example of how that will look like in hypertable/src/py/ThriftClient/ directory.
Let's hope this helps, and if not I will try creating a complete installation manual for online viewing.
this centennial with events and activites througout 2009.
Please visit flightofthesilverdart.ca to learn about the history and upcoming events.
| RSS | See all blog subscribe options |
|
What is RSS? | |
| Yahoo! |
|
| Addthis |
|
| Bloglines |
|
| Newsletter | |
| Follow us on Twitter! |











Thanks!
Tim