分享

hbase中一行数据可以跨region存储吗?

hbase中一行数据可以跨region存储吗? 比如说表student,有列族base和other,在hbase中存在regionA和regionB,对于行数据
{row="wangj","base:sex"="男","other:location"="广州"},可能存在这种情况吗?
base:sex的数据存储在regionA中,other:location数据存储在regionB中。

已有(15)人评论

跳转到指定楼层
bioger_hit 发表于 2015-1-5 18:21:19
这个有可能的。
由于传统数据库是行式存储,而nosql则是列式存储。所以个人认为这是完全有可能的。
HRegion由一个或者多个Store组成,每个store保存一个columns family。
但是这个columns family并没有限定非同一个表



134285160.jpg

回复

使用道具 举报

pengsuyun 发表于 2015-1-5 18:27:20
bioger_hit 发表于 2015-1-5 18:21
这个有可能的。
由于传统数据库是行式存储,而nosql则是列式存储。所以个人认为这是完全有可能的。
HRegi ...

有问题吧。
“columns family并没有限定非同一个表”
这个说法我不太赞同,columns family从属于表,先有表才有列族的。
回复

使用道具 举报

desehawk 发表于 2015-1-5 18:36:11
pengsuyun 发表于 2015-1-5 18:27
有问题吧。
“columns family并没有限定非同一个表”
这个说法我不太赞同,columns family从属于表,先 ...
HRegionServer存取一个子表时,会创建一个HRegion对象,然后对表的每个列族(Column Family)创建一个Store实例。
所以columns family应该是一个表的。




这个图也说明了问题(一个table下有多个region)

回复

使用道具 举报

langke93 发表于 2015-1-5 18:40:24
每一个Hregion存储一张表的若干行,行里每一个列族对应一个HStore实例,列族个数影响性能,所以对于一个表,创建Hregion的时候,已经包含了所有列族,剩下就是对行的存储,行越多,Hregion就越多。所以一个Hregion不可能包含其它表的列族,只有本表的列族。
回复

使用道具 举报

pengsuyun 发表于 2015-1-5 18:41:09
desehawk 发表于 2015-1-5 18:36
HRegionServer存取一个子表时,会创建一个HRegion对象,然后对表的每个列族(Column Family)创建一个Store ...

这幅图中我只看到了多个store都在同一个region中。

我想了解的是,行数据对应的多个store能分布在不同的region中吗?

点评

这个应该不可以  发表于 2015-1-5 18:43
回复

使用道具 举报

pengsuyun 发表于 2015-1-5 18:43:22
langke93 发表于 2015-1-5 18:40
每一个Hregion存储一张表的若干行,行里每一个列族对应一个HStore实例,列族个数影响性能,所以对于一个表 ...

你的意思就是行数据所有的列族(store)都在同一个region中?
回复

使用道具 举报

langke93 发表于 2015-1-5 18:44:41
pengsuyun 发表于 2015-1-5 18:43
你的意思就是行数据所有的列族(store)都在同一个region中?
对的,我是这么认为的
回复

使用道具 举报

pengsuyun 发表于 2015-1-5 19:11:10
我想我应该好像懂了,下面我说下我的理解:
1、实现明确一个概念,一个row key只出现在一个region中。hbase中行数据按照行键排列,被切分后,成片的分布在不同的region中。看我附的图片。
Hbase行数据分布.gif

2、如果你同意第一点的描述,那就好办了,我们来假设下,如果base:sex和other:location分布在不同的region中,这样的话,可以知道row=“wangju” 就分布在两个region中了,显然这跟我在第一点中明确的概念冲突了。

3、所以我的出的结论是,表的行数据都在一个region中。


点评

说行有些不准备,而是所有列在一个region中,行未必因为数据增多会不断分裂  发表于 2015-1-7 22:26
回复

使用道具 举报

zhujun182104906 发表于 2015-1-6 09:37:54
我觉得同一行数据应该在同一个region中的
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条