Hadoop HBase概念学习系列之HBase里的长表VS宽表VS窄表(十五)
2016-12-07 11:15
316 查看
有时候啊,HBase表的设计方案通常,还会考虑如下一些因素,当然,这只是考虑范围里的部分呢。
[b]更多的行还是更多的版本?[/b]后者使用了HBase自带的功能。但是需要在列簇中定义最大版本数,这样做可能有风险。最好的做法是版本使用多行存储,这需要把时间戳作为行键的一部分,数据检索模式定义了时间戳如何定义为行键的一部分以及应该位于行键的一部分。
[b]更多行或是每行包含更多列?[/b]HBase支持每行包含数百万列,并且每一列都可以有列标识。
以行为列的设计?这是一种介于多行和多列的折衷方案。我们可以举一个日志数据库的例子,这个数据库中存储了所有系统中机器生成的日志。我们可以将系统标识(产生日志的系统)和时间范围(比如间隔15分钟)联合起来定义行,每一列代表一种日志事件。
[b]更多的行还是更多的版本?[/b]后者使用了HBase自带的功能。但是需要在列簇中定义最大版本数,这样做可能有风险。最好的做法是版本使用多行存储,这需要把时间戳作为行键的一部分,数据检索模式定义了时间戳如何定义为行键的一部分以及应该位于行键的一部分。
[b]更多行或是每行包含更多列?[/b]HBase支持每行包含数百万列,并且每一列都可以有列标识。
以行为列的设计?这是一种介于多行和多列的折衷方案。我们可以举一个日志数据库的例子,这个数据库中存储了所有系统中机器生成的日志。我们可以将系统标识(产生日志的系统)和时间范围(比如间隔15分钟)联合起来定义行,每一列代表一种日志事件。
相关文章推荐
- Hadoop HBase概念学习系列之HBase里的Client(二十二)
- Hadoop HBase概念学习系列之HBase里的高表设计概念(表设计)(二十八)
- Hadoop HBase概念学习系列之HBase里的存储数据流程(二十三)
- Hadoop HBase概念学习系列之HBase里的列式数据库(十七)
- Hadoop HBase概念学习系列之HBase里的HRegion(五)
- Hadoop HBase概念学习系列之HBase里的客户端和HBase集群建立连接(详细)(十四)
- Hadoop HBase概念学习系列之hbase shell中执行java方法(高手必备)(二十五)
- Hadoop HBase概念学习系列之HBase里的HStore(十九)
- Hadoop HBase概念学习系列之HBase里的时间戳(二十六)
- Hadoop HBase概念学习系列之什么是HBase? (一)
- Hadoop HBase概念学习系列之HBase里的宽表设计概念(表设计)(二十七)
- Hadoop HBase概念学习系列之HBase的Shell(步骤非常清晰)(二十四)
- Hadoop HBase概念学习系列之HBase里的4维坐标系统(第一步定位行键 -> 第二步定位列簇 -> 第三步定位列修饰符 -> 第四步定位时间戳)(十八)
- Hadoop HBase概念学习系列之HBase表的一些设置(强烈推荐好好领悟)(十三)
- Hadoop HBase概念学习系列之HBase里的Zookeeper(二十一)
- 【Hadoop系列第九章】(二)实践:HBase部署及应用
- Hadoop HBase概念学习系列之模式设计(十)
- Hadoop HBase概念学习系列之数据模型(七)
- Hadoop HBase概念学习系列之列、列簇(十二)
- Hadoop HBase概念学习系列之行、行键(十一)