HBase与BigTable的比较

HBase是Google的BigTable架构的一个开源实现。但是我个人觉得,要做到充分了解下面两点还是有点困难的:
一 HBase涵盖了BigTable规范的哪些部分?
二 HBase与BigTable仍然有哪些区别?

下面我将对这两个系统做些比较。

在做比较之前,我要指出一个事实:HBase是非常接近BigTable论文描述的东西。撇开一些细微的不同,比如HBase 0.20使用ZooKeeper做它的分布式协调服务,HBase已经基本实现了BigTable所有的功能,所以我下面的篇幅重点落在它们细微的区别上,当然也可以说是HBase小组正在努力改进的地方上。 Continue reading

NOSQL数据库--HBase简介

最近因为项目原因,研究了Cassandra,Hbase等几个NoSQL数据库,最终决定采用HBase。在这里,我就向大家分享一下自己对HBase的理解。

在说HBase之前,我想再唠叨几句。做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到 底有多少,说不定今天你的用户还少,明天系统用户就变多了,结果您的系统应付不过来了了,不干了,这岂不是咱哥几个的悲哀,说时髦点就叫“杯具啊”。

其实说白了,这些就是事先没有认清楚互联网应用什么才是最重要的。从系统架构的角度来说,互联网应用更加看重系统性能以及伸缩性,而传统企业级应用都是比较看重数据完整性和数据安全性。那么我们就来说说互联网应用伸缩性这事儿.对于伸缩性这事儿,哥们儿我也写了几篇博文,想看的兄弟可以参考我以前的博文,对于web server,app server的伸缩性,我在这里先不说了,因为这部分的伸缩性相对来说比较容易一点,我主要来回顾一些一个慢慢变大的互联网应用如何应对数据库这一层的伸缩。 Continue reading

NOSQL中Cassandra与HBase的比较,及我们迁移系统的原因

原文地址:http://ria101.wordpress.com/2010/02/24/hbase-vs-cassandra-why-we-moved

HBase vs Cassandra: why we moved

下文中将讨论为何选择Cassandra作为我们的NOSQL方案。

是否Cassandra的血统预言了未来?

我发现在软件问题上,我们先去考虑上层问题而不是直接深入到细节,可以节约大量时间。在选择HBase还是Cassandra上我也遵循了这一信条。HBase还是Cassandra具有完全不同的血统和基因,这决定了他们在我们应用的可行性。

HBase及其支持系统源自Google的GFS和BigTable设计;而最初由Facebook开源出来的Cassandra采用了BigTable的数据模型,确实是用类似Amozon的Dynamo的存储系统(实际上Cassandra最初的开发工作都是由两个原Dynamo工程师开发的)。 Continue reading