关于OpenTSDB的表设计,这两篇文章已经写得很好了:
http://blog.csdn.net/bluishglc/article/details/31052749
http://www.jianshu.com/p/0bafd0168647
但对于tsdb-uid这个表,我觉得还是可以说得更详细一点的。以第一个链接提到的例子为例:
我们插入2个metrics:
proc.stat.cpu
proc.stat.mem
以及一条记录:
proc.stat.cpu 1297574486 54.2 host=foo type=user
来观察一下结构
hbase scan:
画个图更形象一点:
看到这个图,其实已经很清晰了:
1.rowKey=0的那一行,只有右边的columnFamily:id才会有值,它记录了metrics/tagk/tagv的个数。可以看到,现在metrics是两个(proc.stat.cpu和proc.stat.mem),tagk也是两个(host和type),tagv也是两个(foo和user)
2.rowKey=1和rowKey=2的这两行,只有左边的columnFamily:name才会有值,提供了根据ID找到名字的功能:
rowKey=1,它记录了id=1的metric/tagk/tagv的名字。也就是,它代表的含义是:proc.stat.cpu是第1个metric,host是第1个tagk,foo是第1个tagv。
rowKey=2跟rowKey=1是类似的含义,它记录了id=2的metric/tagk/tagv的名字。
3.剩余的几行,相当于是rowKey=1和rowKey=2这两行的一个反向关系的存储,提供的功能是根据名字找到ID:
例如rowKey=proc.stat.cpu这一行,它代表proc.stat.cpu是一个metric,且它的id是1(id:metrics=1,表明了类型和ID)
最后,很容易看到,tsdb-uid这个表是很稀疏的,表中空白的地方,永远都不会有值写进去的。但好在hbase是列存储,并不会像关系型数据库那样造成空间的浪费。
从表中也可以看到,即使是不同的metric,只要你的tagk(或者tagv)的名字相同,那这个tagk的ID就相同。例如你新创建一个名为proc.stat.wtf的metric,它也有一个tagk=host,那“host”的ID还是1,不会增加:
proc.stat.wtf 1297574486 54.2 host=bar
- 大小: 231 KB
- 大小: 4.7 KB
分享到:
相关推荐
OpenTSDB 2.3 中文文档 OpenTSDB 2.3 中文文档 OpenTSDB 2.3 中文文档
openTSDB openTSDB openTSDB openTSDB openTSDB openTSDB openTSDB openTSDB openTSDB openTSDB openTSDB openTSDB openTSDB
基于postman的OpenTSDB HTTP 写入,自己编写,值得下载
OpenTSDB操作手册,调用方法等.
OpenTSDB是一个时列数据库。时间序列是一段特定metric随时间变化的一系列数字数据点。每个时间序列都包含一个metric加上与该metric相关的一个或多个tags(我们将覆盖一些标记)。metric是您希望随时间跟踪的任何特定...
opentsdb,用于测试hbase性能,官方地址下载不了。包1,需要同时下载另一个
opentsdb默认使用ISO8859-1编码格式,导致使用过程中无法使用汉字,本资源通过整理wordsplit.java类,修改编码格式及字串解析过程并重编译,完美支持汉字。
opentsdb踩坑记录: 1. Int 类型溢出问题 2. tagv超出了最大值 3.不要在compaction时重启OpenTSDB服务 4. 分配UID时行锁问题,导致分配性能很低
opentsdb,用于测试hbase性能,官方地址下载不了。包2,需要同时下载另一个
附件是Opentsdb docker-compose 部署脚本
OpenTSDB描述文档 open time serial database
您或许想直接进入openTSDB并开始将数据写入你的TSD,但要要真正使用OpenTSDB的强大功能优势和灵活性,您可能需要暂停(先停下来)并思考您的命名模式(方式)。完成下面的操作后,您就可以继续通过Telnet或HTTP API...
Opentsdb踩过的坑,亲自参与,并且修改过opentsdb的源码,希望对使用过的人有些帮助!
hbase的插件,大数据metrics监控的界面显示,与mysql类似
opentsdb的源码,可以直接导入到eclipse,在学习opentsdb的利器。 备注,源代码是不能直接导入到eclipse,代码路径是不对的。
CentOS安装基于 HBase 安装 OpenTSDB时序数据库安装文档
开源监控系统OpenTSDB,用hbase存储所有的时序(无须 采样)来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集所有metrics,支持永久存储,可以做容量规划;Grafana是一个跨平台的开源的度量分析和可视...
此页面列出了一些常见的OpenTSDB问题以及提高性能的步骤。 高速缓存 此时,OpenTSDB没有内置缓存(除了内置GUI,将缓存PNG图像文件60秒)。因此,我们依赖于底层数据库的缓存。在HBase(最常见的OpenTSDB后端)中...
opentsdb 写入数据方法,由于不提供格式化或者存储错误导致的数据点无法写入,所以不建议使用Telnet,而是使用Http API
opentsdb安装包。linux版。解压即用。opentsdb是基于habse开发的大数据库