OpenTSDB Hbase RowKey设计

时间:2015-12-15 18:41:30

标签: hbase opentsdb

OpenTSDB行键设计为。我可以理解,密钥的设计可以在编写数据时避免热点。但是在阅读时如果我看到与特定主机相对应的所有指标,则会导致从随机区域服务器读取数据。那么它如何导致优化读取性能。是否对关键设计的读取模式做出了任何假设。

2 个答案:

答案 0 :(得分:4)

根据Chris Larsen的说法

OpenTSDB的假设是大多数仪表板和用户都会关注特定指标或指定时间内的一小组指标,其中指标是跨主机或各种标签的聚合。例如,我的平均或最大CPU使用率是多少?

跨多个区域服务器查询实际上是一个巨大的好处,因为您可以并行启动查询,例如如果您要求“sys.cpu.busy host = web01”和“sys.if.bytes_out host = web01”...并且您有多个区域服务器,TSD将发送这两个指标,可能是两个服务器,并且它们可以并行处理,而不是在同一服务器上的HBase队列中同时处理,并在线程可用时处理它们。

此外,对于2.2,您可以为行键启用salting,这样就可以了。这有助于通过跨区域服务器并行分割每个度量标准查询来查询高基数度量标准(例如,大量主机)。

答案 1 :(得分:1)

此架构对于给定系列集(度量标签+标签)的时间范围查询非常有效。任何其他查询,例如获取给定服务器收集的所有指标的最后值,都需要完整扫描。