Definitions

当涉及时间序列数据时,有很多术语会引起混乱。此页面是一种词汇表,有助于定义与 OpenTSDB 的使用有关的词。

Cardinality

基数是一个 math 术语,定义为一组元素的数量。在数据库术语中,它通常用于指索引中唯一项目的数量。关于 OpenTSDB,可以参考:

  • 给定 Metrics 的唯一时间序列数

  • 与标签名称关联的唯一标签值的数量

由于 OpenTSDB 存储架构的性质,具有较高基数的度量比具有较低基数的度量在查询执行期间可能需要更长的返回结果。例如。我们可能有标签名称为datacenter的 Metricsfoo,并且数据中心可能有 100 个值。然后,我们有了带有标记host的度量bar和主机的 50,000 个可能值。Metricsbar的基数高于foobar的可能时间序列为 50,000,而foo的时间序列仅为 100.

Compaction

OpenTSDB 压缩在 HBase 行中包含多个列,并将它们合并为一个列以减少磁盘空间。请勿将其与 HBase 压缩混淆,在 HBase 压缩中,将对一个区域的多个编辑合并为一个。在写入数据之后或在查询期间,TSD 会定期发生 OpenTSDB 压缩。

Data Point

上面的每个 Metrics 都可以在特定时间记录为数字。例如,我们可以记录 Sue 在每天结束时工作了 8 个小时。或者,“ mylogo.jpg”在过去一个小时内被下载了 400 次。因此,一个数据点包括:

  • A metric

  • 数值

  • 记录值的时间戳记

  • 一组或多组标签

Metric

Metrics 只是定量测量的名称。Metrics 包括:

  • 员工工作时间

  • Web Service 器下载文件

  • 一个地区的积雪

Note

请注意,metric没有包括特定的数字或时间。那是因为metric只是您要测量的标签。实际的度量称为datapoints,您将在后面看到。

不幸的是,OpenTSDB 需要将度量标准命名为一个没有空格的长字。因此,通常使用“点符号”记录度量。例如,上述 Metrics 的名称如下:

  • hours.worked

  • webserver.downloads

  • accumulation.snow

Tags

metric应该描述要测量的内容,但是对于 OpenTSDB,它应该不太具体。相反,最好使用tags来区分和组织可能共享同一度量的不同项目。标签是成对的单词,提供了将度量标准与特定项目相关联的方式。每对包含一个tagk,该tagk表示随后的tagv的组或类别,该tagv表示特定的项目,对象,位置或其他名词。

扩展以上 Metrics 示例:

  • 一个企业可能有四个雇员,Sue,John,Kelly 和 Paul。因此,我们可以将employeetagk命名为tagv。这些将被记录为employee=sueemployee=john等。

  • Web Service 器通常有很多文件,因此我们可以有tagkfile到达file=logo.jpgfile=index.php

  • 许多地区都下雪,因此我们可以记录tagkregion以获得region=new_englandregion=north_west

Time Series

一个 Metrics 和一组标签名称/值对的两个或更多数据点的集合。

Timestamp

时间戳只是记录给定 Metrics 值的绝对时间。

Value

值表示给定度量的实际数字度量。我们的一名员工 Sue 昨天工作了 8 个小时,因此值将是8。在过去一个小时内,从我们的 Web Service 器下载了logo.jpg的 1,024 次下载。今天在新英格兰降雪了 12 英寸。