数据库资讯

NOSQL之旅 -----HBase

上面说了Column family,那么我之前说的Row key是啥东东,其实你可以理解row keyRDBMS中的某一个行的主键,但是因为Hbase不支持条件查询以及Order by等查询,因此Row key的设计就要根据你系统的查询 需求来设计了额。我还拿刚才那个Feed的 列子来说,我们一般是查询某个人最新的一些Feed, 因此我们FeedRow key可以有以下三个部分构成<userId><timestamp><feedId>, 这样以来当我们要查询某个人的最进的Feed就 可以指定Start Rowkey<userId><0><0>End Rowkey<userId><Long.MAX_VALUE><Long.MAX_VALUE>来 查询了,同时因为Hbase中 的记录是按照rowkey来 排序的,这样就使得查询变得非常快。

 

三 Hbase的优缺点

列的可以动态增 加,并且列为空就不存储数据,节 省存储空间.

2 Hbase自动切 分数据,使得数据存储自动具有水平scalability.

3 Hbase可以提 供高并发读写操作的支持

Hbase的缺点:

不能支持条件查 询,只支持按照Row key来 查询.

暂时不能支持Master server的故障切换,Master宕机后,整个存储系统就会挂掉.

 

关于数据库伸缩性的一点资料:

 

http://www.jurriaanpersyn.com/archives/2009/02/12/database-sharding-at-netlog-with-mysql-and-php/

http://adam.blog.heroku.com/past/2009/7/6/sql_databases_dont_scale/

 

希望看到您的想法,请您发表评论x