例如,我在hbase中有这样的数据;
ROW COLUMN
id-time cf:s1, cf:s2, cf:s3, cf:s4, cf:s5
id-time1 cf:s1, cf:s2, cf:s3, cf:s4, cf:s5
id-time2 cf:s1, cf:s2, cf:s3, cf:s4, cf:s5
id-time3 cf:s1, cf:s2, cf:s3, cf:s4, cf:s5
我想基于rowKey(时间范围扫描。例如time-time3)获取 cf:s3 值。
另外,另一种选择,
ROW COLUMN
id-time-s1 cf:val
id-time1-s2 cf:val
id-time1-s3 cf:val
id-time2-s3 cf:val
id-time2-s4 cf:val
id-time3-s4 cf:val
id-time3-s5 cf:val
如上所述,我想基于rowKey(时间范围查询)获取 s3 值。
哪个在阅读性能上更好?
答案 0 :(得分:1)
在第一种情况下,您必须使用列过滤器进行全面扫描(您需要从每一行读取s3),而在第二种情况下,您可以进行部分扫描< / strong>(您可以定义开始行键-结束行键间隔)和列族过滤器。局部扫描总是比完整扫描更有效,尤其是随着表的增长。