openTSDB详解之Definitions
Definitions
当提及时间序列数据,有许多术语(terms
)交织在一起,这样容易造成许多疑惑。这个页面按照字母表顺序,对术语进行简单的介绍,去帮助定义(以及理解)那些在openTSDB中与使用相关的关键字。
Cardinality
Cardinality
是一个数学术语,用于定义一个集合中的元素数目。在数据库术语中,它经常被用于指代一个索引的唯一条目。至于openTSDB,它指的是:
- 对于给出的metric的唯一数【译者注:就是指有多少个metric】
- 与一个tag name相联系的唯一tag value
由于openTSDB存储模式的特性,在查询过程中,相比于较少的基数,如果一个有很多基数的metrics,则将需要非常长的时间返回结果。例如,我们可能有metric:foo
,tag name:datacenter
,以及datacenter 可能有100个值。然后我们metric:bar
以及tag host
,并且host可能有50000值。metric bar
有一个较高的基数超过metric foo
:对于时间序列bar 可能有50000个数据点, 对于时间序列foo仅仅有100个数据点。
Compaction
一个openTSDB压缩,将HBase一行中的多个列合并成单个列,为了减少磁盘空间。This is not to be confused with HBase compactions where multiple edits to a region are merged into one
。openTSDB的压缩周期性出现,在数据写入之后,或者在查询中。
Data point
在一个特殊的时间,上述的每个metric被记录为一个数值。例如,我们能够记录:在每天结束时,Sue工作了8小时。或者,在过去的一个小时,mylogo.jpg被下载了400次。因此数据点包括:
- 一个metric(
a metric
) - 一个数字值(
a numeric value
) - 数字值被记录的时间戳(
a timestamp when the value was record
) - 一个或者多个tag(
one or more sets of tags
)
Metric
一个metric仅仅是一个关于定量测量的名字。metric包括像下列的事物:
- 一个雇员工作的时长(原文:
hours worked by an employee
) - 下载文件的webserver(原文:
webserver downloads of a file
) - 区域内的积雪量(原文:
snow accumulation in a region
)
Note
注意,metric不包括一个具体的数字或者时间。因为对于你想测量的东西,一个metric仅仅是一个标签。时间的测量(结果)被叫做datapoints,正如你在后文即将看到的。
不幸的是,openTSDB要求metrics被命名成单个,较长的单词,没有空格。因此metrics通常被记录使用·
标注("dotted notation"
)。例如上述的metrics将有下列的名字:
- hours.worked
- webserver.downloads
- accumulations.snow
Tags
一个metric应该是对于被测量对象的一个描述性词汇,但是在openTSDB中,它仍然不够具体。相反,最好使用tags去区别以及组织不同的条目,这些不同的tags可能共享相同的metric。tags是一对words,它提供一种将metric和具体的条目连接在一起方法。每对tags由tagk——代表的组或是目录下列tagv,以及tagv——指的是具体的条目,物体,位置或者是其他名词。
在上述的metric例子扩展:
- 一个企业可能有4个员工:Sue,John,Kelly和Paul。因此,我们可能配置一个员工的tagk以及tagv(使用它们的名字)。这将被记录成
employee=sue,employee=john
等。 - Webservers通常有许多文件,所以我们能够有一个文件的tagk去获取文件:
file=logo.jpg
或者file=index.php
- 许多区域有积雪堆积,所以我们可能记录一个region的tagk,最后得到
region=new_england
或者region=north_west
Time Series
对于单个metric,以及一组tag name/value
对的两个或者更多的数据点集合。
Timestamp
时间戳仅仅是绝对时间,被给出的metric的一个值所被记录的时间。
Value
一个值代表的是实际的数字测量对于给出的metric。员工Sue,昨天工作8小时,因此值将会是8。在过去的一小时中,我们的webserver中有1024次下载logo.jpg,以及今天在New England有12英尺的积雪。