首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

OpenTSDB 底层 HBase 的 Rowkey 是如何设计的

OpenTSDB 是基于 HBase 的可扩展、开源时间序列数据库(Time Series Database),可以用于存储监控数据、物联网传感器、金融K线等带有时间的数据。...目前,阿里云 HBase 产品是直接支持 OpenTSDB 组件的。...OpenTSDB 拥有如此的强大的读写和近乎无限的存储能力源自于基于 HBase 的架构设计,我们甚至可以说 OpenTSDB 就是 HBase 的一个应用。...(因为本文侧重于介绍 HBase 的 Rowkey 设计,所以关于 OpenTSDB 的其他一些知识本文并不会涉及,如果你对这部分知识感兴趣,请自行去网上搜索相关文章。)...基于这个特点,OpenTSDB 对 Rowkey 进行了进一步的优化,思想为:将 Rowkey 中时间戳由原来的秒级别或毫秒级别统一转换成小时级别的,多余的秒数据或者毫秒数据作为 HBase 的列名称。

2K31

OpenTSDB简介

DB这个词很有误导性,其实并不是一个db,单独一个OpenTSDB无法存储任何数据,它只是一层数据读写的服务,更准确的说它只是建立在Hbase上的一层数据读写服务。...如此简单的查询方式虽然让hbase变得简单易用, 但也限制了它的使用场景。针对时序数据,只有get和scan远远满足不了你的需求。   这个时候OpenTSDB就应运而生。...如果我们每秒存储一个数据点,每天就有86400个数据点,在hbase里就意味着86400行的数据,不仅浪费存储空间,而且还查起来慢,所以OpenTSDB做了数据压缩上的优化,多行一列转一行多列,一行多列转一行一列...数据查询   OpenTSDBhbase的读做很多的封装,方便实现更复杂切灵活的查询功能,我们来看下读接口的查询参数就能一窥究竟。 ?   ...OpenTSDB在从底层hbase拿到数据后数据处理流程如下。

2.1K10

OpenTSDB翻译-降采样

例如,假设温度传感器每秒钟都向OpenTSDB系统发送数据。如果用户在一小时内查询数据,他们将获得3,600个数据点,这些数据点可以相当容易地绘制出来。...此时,OpenTSDB总是在降采样执行后再执行分组聚合。 注意:   对于早期版本的OpenTSDB,新数据点的实际时间戳将是时间间隔范围中每个数据点的时间戳的平均值。...日历边界   从OpenTSDB 2.3开始,用户可以指定基于日历的降采样而不是快速取模的方法。这对于报告目的更为有用,例如查看与人类可读时间相关的值,例如数月,数周或数天。...由于OpenTSDB不会对时间对齐或值存在时施加约束,因此必须在查询时指定这些约束。使用降采样执行分组聚合时,如果所有序列都缺少预期间隔的值,则不会发出任何数据。

1.6K20

OpenTSDB 数据存储详解

二、OpenTSDB的部署架构 1、架构图 2、说明 OpenTSDB底层是使用HBase来存储数据的,也就是说搭建OpenTSDB之前,必须先搭建好HBase环境。...三、HBase简介 从OpenTSDB的部署架构中我们看到OpenTSDB是建立在HBase之上的,那么HBase又是啥呢?为了更好的剖析OpenTSDB,这里我们简要介绍一下HBase。...5、数据在HBase中的存储(物理上): 6、数据在HBase中的存储(逻辑上): 四、 支撑OpenTSDB运行的HBase表 如果你第一次用你的HBase实例运行OpenTSDB,需要创建必要的...五、 OpenTSDB是如何把一个数据点保存到HBase中的呢?...OpenTSDB 只有4 张HBase 表,所有的数据都存放在一张表,这就意味在OpenTSDB 这个层级上是无法更小的粒度来区别对待不同业务,比如不同的业务建不同的表存储数据。

1.4K50

OpenTSDB实现原理与安装

OpenTSDB介绍 opentsdb是基于Hbase的时序数据库[时间序列数据库]。...OpenTSDB安装 OpenTSDB是依赖于HBase进行数据存储的,所以在安装OpenTSDB组件之前,需要已经部署了HBase组件,在这里我是直接在大数据集群进行安装的,已经部署了HBase。...具体的脚本存放位置:/etc/init.d/opentsdb OpenTSDB配置 打开 /etc/opentsdb/opentsdb.conf 文件,配置HBase的地址和ZK地址 tsd.storage.hbase.zk_basedir...= /hbase-unsecure tsd.storage.hbase.zk_quorum = zk_url // 配置你的ZK地址 HBase创建对应表 第一次运行OpenTSDB实例的话,需要先创建...HBase表,OpenTSDB已经给准备好了创建脚本,可以到 env COMPRESSION=NONE HBASE_HOME=/usr/hdp/2.6.1.0-129/hbase /usr/share/

70510

Opentsdb安装部署(单机版)

Opentsdb简介 opentsdb是基于Hbase的时序数据库[时间序列数据库]。不具备通用性,主要针对具有时间特性和需求的数据,如监控数据、温度变化数据等。...opentsdb说是数据库,但并不能称作为数据库,他是在Hbase(HBase才是具有存储功能的)的基础上,进行数据结构的优化和处理,从而适合存储具有时间特性的数据,同时提供特定的工具进行查询等操作。...是一种基于列的NoSQL数据库,在opentsdbHBase 为其提供了高效的数据存储。.../hbase shell 四、Opentsdb部署 1、安装包准备 版本:2.4.0 下载地址: https://mirrors.yangxingzhen.com/opentsdb/opentsdb...= tsdbtsd.storage.hbase.zk_basedir = /hbasetsd.storage.hbase.zk_quorum = localhost:1888 启动Opentsdb

1.2K30

时序列数据库武斗大会之 OpenTSDB

OpenTSDB ,可以认为是一个时系列数据(库),它基于HBase存储数据,充分发挥了HBase的分布式列存储特性,支持数百万每秒的读写,它的特点就是容易扩展,灵活的tag机制。...安装 OpenTSDB 为了安装 OpenTSDB ,都需要以下条件和软件: Linux操作系统 JRE 1.6 or later HBase 0.92 or later 安装GnuPlot 如果你还想使用自带的界面...这时候,再设置HBASE_HOME: $ echo $HBASE_HOME /opt/hbase-1.0.1.1 之后便可启动hbase: $ /opt/hbase-1.0.1.1/bin/start-hbase.sh...OpenTSDB中的数据存储结构 我们来看看 OpenTSDB 的重要概念uid,先从HBase中存储的数据开始吧,我们来看一下它都有哪些表,以及这些表都是干什么的。...总结 可以看出来, OpenTSDB 还是非常容易上手的,尤其是单机版,安装也很简单。有HBase作为后盾,查询起来也非常快,很多大公司,类似雅虎等,也都在用此软件。

1.2K60

OpenTSDB用户指南-数据查询

官方地址: http://opentsdb.net/docs/build/html/user_guide/query/index.html OpenTSDB提供了很多的操作、查询、分析数据的方法,可以通过使用...OpenTSDB的原始语法允许简单的过滤,聚合和降采样。更高版本添加了对函数和表达式的支持。...虽然OpenTSDB可以以毫秒分辨率(精度)存储数据,但大多数查询将以秒级分辨率返回数据,以提供对现有工具的向后兼容性。...注意: OpenTSDB默认会聚合数据,并且需要每个查询都有一个聚合运算符。每个聚合器必须处理多个序列的缺失或不同时间戳中的数据点。...OpenTSDB 2.0支持特殊的单调递增计数器数据处理,包括设置“翻转”(越界)值和抑制异常波动的能力。

2K10

【全网最新】如何在本地IDE Run起OpenTSDB源码

~`-=[]\;',./" 然后再次启动,发现还是失败,可以看到是连接本地2181端口失败了,这里是因为本地没有起Zookeeper和HBase,因为Opentsdb底层就是要依赖存储的(一般为HBase...),所以要想在本地run起opentsdb,首先需要在本地run起HBase和Zookeeper(HBase会内置)。...[i237aq2ur3.png] 于是我们先去在本地把HBase 的HMaster run起来,具体怎么run起HBase不在本文中介绍了,或者后面有时间再写点东西记录下。...[i5qmut62t9.png] 然后我们再次运行opentsdb,这次失败是报错少了tsdb表,我们还需要再HBase中把Opentsdb需要的几张表创建出来。...[4d6gue3fv9.png] 我们可以看到src目录下有个create_table.sh,如果是在服务器上,直接运行这个脚本就可以在HBase中将四张对应的表创建出来,在本地的话,我是启动了一个hbase-shell

96660

简析OpenTSDB的用途是什么

OpenTSDB 是一种基于 HBase 编写的分布式、可扩展的时间序列数据库。...官方文档这样描述:OpenTSDB is a distributed, scalable Time Series Database (TSDB) written on top of HBase; 翻译过来就是...,基于Hbase的分布式的,可伸缩的时间序列数据库,和上面的意思基本相同。...存储到OpenTSDB的数据,是以metric为单位的,metric就是1个监控项,譬如服务器的话,会有CPU使用率、内存使用率这些metric; OpenTSDB使用HBase作为存储,由于有良好的设计...这个库来将数据写入到HBase;AsyncHbase是完全异步、非阻塞、线程安全的Hbase客户端,使用更少的线程、锁以及内存,可以提供更高的吞吐量,特别对于大量的写操作。

2.7K80

58HBase平台实践和应用—时序数据库篇

OpenTSDB架构: ?...2、存储优化 OpenTSDBHBase深度依赖,并且根据HBase底层存储结构的特性,做了很多巧妙的优化。 (1)、缩短rowkey的长度。...采集的监控数据最终通过TSD实例存储到HBase集群,并基于HBase的RSGroup机制进行物理隔离。...在我们的实际使用中,TSD单实例写QPS最高到达了10万+,存储到HBase的监控数据量半年预估达到10T+,而支撑这一能力的后端HBase集群只用了5个节点,从而可以看出OpenTSDB强大的写性能。...在查询的时候由于无法知道数据写入时rowkey中标签之间的顺序,导致所有的OpenTSDB查询都只能进行前缀查询+filter,前缀查询字段包括metrics和timestamp,而标签匹配只能通过HBase

1.1K10

千亿级服务器监控数据存储实践

本文将从当前存储架构存在的问题出发,介绍从尝试使用Opentsdb到自行设计Hbase存储方案来存储 TMP 服务器海量监控数据的实践历程。...Opentsdb 尝试及瓶颈分析 在准备使用 Hbase 存储 TMP 监控数据之初,我们曾尝试使用基于 Hbase 的开源时序数据库 Opentsdb 来直接存储服务器监控数据。...但 Opentsdb 到 70w/s 的时候整个 Hbase 集群就已超负荷运转、响应缓慢了,完全无法满足如此大规模的存储需求。...TMP 监控存储设计结合了业界使用 Hbase 的一些成熟的实践经验,同时参考和改进了 OpenTSDB 在使用 HBase 时的比较好的设计思想,以支撑 TMP 监控数据的大规模读写。...因此这里参考 Opentsdb 的做法,将同一 time-base 内的所有列合并压缩为一列(注意这里说的列 Compaction 与 HBase 本身的 Compation 是完全不同的,Hbase

7.3K10

vivo服务端监控架构设计与实践

3)数据存储:有使用 MySQL、Oracle 等 RDBMS 存储的,也有使用时序数据库OpenTSDB、InfluxDB 存储的,还有使用 HBase 直接存储的。...2.1 OpenTSDB简介 1)基于HBase的分布式的,可伸缩的时间序列数据库,主要用途就是做监控系统。...2)OpenTSDB使用策略说明: 不使用OpenTSDB提供的rest接口,通过client与HBase直连; 工程端禁用compact动作的Thrd线程; 间隔10秒获取Redis缓冲数据批量写入OpenTSDB...4)数据存储:存储使用HBASE集群和开源的OpenTSDB作为聚合的中介,原始数据上报之后通过OpenTSDB持久化到HBase集群,Redis作为分布式数据存储调度任务分配、告警状态等信息,后台涉及的指标和告警配置存储于...四、核心指标 4.1 系统监控告警和业务监控告警 将采集到的数据通过OpenTSDB存放到HBase中后,通过分布式任务分发模块完成分布式计算。

1.1K30
领券