HBase中高效查询的策略

HBase中高效查询的策略,hbase,Hbase,我设计了HBase表,其中我的行键被驱动到需要在其上运行的查询。按照最佳实践,我将散列部分作为行键的前缀,尝试在我的表区域中尽可能均匀地分布行 我担心以下情况: 我的HBase表中有数十亿行被分为3个区域。我使用这个表为RESTAPI提供数据,因此,它需要尽可能快地提供行 不幸的是,我遇到了著名的超时错误无法在超时内得到结果,超时=60000ms,即使我调用了count“table\u name”在hbase外壳中,或用于任何其他扫描,包括startrow和stoprow参数。使用rowkey按

我设计了HBase表,其中我的
行键
被驱动到需要在其上运行的查询。按照最佳实践,我将散列部分作为行键的前缀,尝试在我的表区域中尽可能均匀地分布行

我担心以下情况:

我的HBase表中有数十亿行被分为3个区域。我使用这个表为RESTAPI提供数据,因此,它需要尽可能快地提供行

不幸的是,我遇到了著名的超时错误
无法在超时内得到结果,超时=60000ms
,即使我调用了
count“table\u name”
在hbase外壳中,或用于任何其他扫描,包括
startrow
stoprow
参数。使用
rowkey
按范围扫描似乎正在扫描整个hbase表

考虑到这种情况,我想问两个问题:

1) 是否有任何策略可以在不出现超时错误的情况下尽可能快地检索行的范围?我真的很感激这里的任何指点

2) 由于我是HBase新手,考虑到搜索实际上是按行键范围扫描,您认为HBase是向REST API提供快速检索数据的最佳或至少足够的解决方案吗

  • 增加区域服务器的数量
  • 增加区域数量
  • 每个区域服务器的区域数应为50个左右,不超过快速响应的区域数
  • 如果可能,在集群上的所有数据节点上生成区域服务器。不要孤立地运行区域服务器
  • 如果数据量不大,可以尝试使用最适合API的Aerospike,因为它为get和put提供毫秒延迟

    要详细了解Hbase,请执行以下操作: