首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用值作为列名时,HBase性能有什么不同吗?

使用值作为列名时,HBase性能有什么不同吗?
EN

Stack Overflow用户
提问于 2014-09-22 14:58:57
回答 2查看 34关注 0票数 0

在HBase中,当我在列中存储值或使用值本身作为列名时,在性能或任何其他方面是否存在差异?

例如:

代码语言:javascript
复制
<table>:<Column-Family>:<Column-Name>=<value>
vs
<table>:<Column-Family>:<Column-Name>:<value>=1

在什么场景下推荐使用什么?

EN

回答 2

Stack Overflow用户

发布于 2014-09-22 17:39:22

这取决于数据以及您需要从其中提取什么!如果您有一个数据库,其中包含设备及其相关传感器的列表,如下所示:

ID -标签-传感器

1- K200 - 1,2

2- K300 - 1,2,3

ID - LABEL - SENSOR_1 - SENSOR_2 - SENSOR_3

1- K200 -1-1-0

2- K300 -1-1-1

在我看来,第一种设计更好,你不必像第二种设计那样存储0,但这取决于你需要提取什么信息。如果您只想检查哪个设备集成了类型1的传感器,则第二种设计更好,因为您将在每行上读取一列,而使用第一种设计,您必须处理数据……但如果你只是问每种设备都有哪种类型的传感器,第一种设计更好……试着列出你需要从你的数据中知道的东西,然后你可以根据这个来考虑设计!

票数 0
EN

Stack Overflow用户

发布于 2014-09-23 12:33:12

它取决于表格的设计和必要性,比较通用

<table>:<Column-Family>:<Column-Name>=<value>

更常用于一般用途的存储,但在某些情况下使用<table>:<Column-Family>:<Column-Name>:<value>=1

可以更适合这样的场景:

要使一个列具有多个值,需要将值与列名一起进行筛选,避免serialization

  • you需要检查列是否具有特定值经常非常快速

有更多的案例可以从后面的设计中获益,但它又一次回到了您需要的地方

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25968243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档