1 客户端
opentsdb的hbase客户端,使用了他们自己编写的异步非阻塞
hbase客户端
据说比hbase自带的客户端性能好很多.
下面是一个评测结果
http://www.tsunanet.net/~tsuna/asynchbase/benchmark/viz.html
2 opentsdb的数据存储
2.1 hbase宽列存储
假设一般关系型数据库存储某指标ABX在2014年5月1日08时左右的如下数据
可以看出时间数据前缀有重复,在Hbase中可以通过提取共同前缀,达到减小存储空间,提高存储效率的目标.将上述时序数据在Hbase中以宽列形式存储,逻辑结构表示如下
Hfile中keyvalue的物理存储格式(略去column family和version部分)如下
宽列存储的优势在于Hfile中的row(相同rowkey的keyvalue是一个row)数量会大大减少,提高查询效率,原因如下:
1)Hfile中meta block中会存储bloom filter,用来判定特定的rowkey是否在Hfile中.随着row数量的减少,bloom filter的体积会显著减小,因为bloom filter entry的生成是以row为单位.
2)Hbase中除了rowkey作为检索条件,还可以利用filter在rowkey,keyvalue,keyvalue的集合上进行过滤.在filter执行的早期阶段进行rowkey的比较,如果发现整个row不符合条件,能迅速跳过大量keyvalue,减少filter比对的次数.
2.2 opentsdb的宽列存储的二次compact
宽列存储的硬盘空间节省非常有限,因为keyvalue的数量受column qualifier数量影响.因此可以在宽列存储的基础上进行二次compact,将同一个row的多个column qualifier存储为一个column qualifier.
其keyvalue物理存储格式(略去column family和version部分)为
进过二次compact的时序数据,在存储体积上也显著减小.配合其他压缩算法,可以极大的节省存储空间,提高访问效率.
Opentsdb在添加数据点的时候,把需要compact的row放到一个队列中,然后定时compact.
TSDB的addPointInternal方法中,调用scheduleForCompaction将row放入队列, CompactionQueue类中,启动Thrd这个线程来进行compact
但是有时候一个row已经被compact过了,这个row仍有可能插入数据,所以要对已经compact的row进行第二次compact,所以在scan的时候,仍然有可能进行compact.
ScannerCB类中,每次scan完成仍然调用compact方法进行数据compaction
下图表示一个已经compact的row,插入了新的数据后,又一次进行了compact
3 opents中的tree
Opents中的监控指标都是metric,每个metric都互相独立,带有tag,由用户自定义metric和tag,但是可以通过自定义规则,将metric,tag分解为树的形式进行结构化展现.
比如有上面的metric和tag,可以通过规则(提取tag value,正则表达式分解metric等),变换为如下的tree
先按照数据中心分级,然后按主机,然后按监控类型
- 大小: 2 KB
- 大小: 2 KB
- 大小: 2.7 KB
- 大小: 1.8 KB
- 大小: 1.6 KB
- 大小: 5.3 KB
- 大小: 17 KB
- 大小: 16.9 KB
分享到:
相关推荐
为了实现高频率、高密度的能耗数据采集,研究者们提出了基于OpenTSDB(Time Series Database)和OPC(OLE for Process Control)技术的能耗数据采集存储方案。 OpenTSDB作为一种分布式的、可扩展的时间序列数据库,...
HBase与OpenTSDB是当下流行的分布式非关系型数据库系统,它们以出色的水平扩展能力、高可用性和易于管理等特点受到许多大型互联网公司的青睐。在华为的案例中,通过HBaseConAsia2018的技术分享,我们可以了解到HBase...
在本文中,我们将深入探讨OpenTSDB 2.3.0版本的特点、功能以及如何在实际应用中发挥其优势。 OpenTSDB的核心设计理念是处理大量随着时间变化的数据点,这使得它在监控领域具有显著优势。它被设计成与HBase紧密集成...
它最早是受Google BigTable论文的启发而开发的,具有分布式、多版本、面向列的特点。HBase特别适合存储非结构化数据,比如用户画像、日志以及消息等。然而,随着业务的扩展和技术需求的提升,HBase已经从传统意义上...
此外,该平台还整合了其他多种技术,如HBase、Zookeeper、Hue、Thrift、Phoenix、OpenTSDB、MapReduce、iStream、Hive、Spark、Oozie、WebHDFS、HttpFS、libHDFS、NFS3、PIG、Ganglia监控系统等,形成一个全面的数据...
在物联网应用中,常见的数据库类型包括关系型数据库(如MySQL、Oracle)、非关系型数据库(如MongoDB、Cassandra)以及时间序列数据库(如InfluxDB、OpenTSDB)。 关系型数据库以表格形式存储数据,支持复杂的SQL...
HBase是一个高性能的开源NoSQL数据库,属于BigTable的开源实现,其分布式、多版本、面向列的特点使其适合存储和处理大量的非结构化数据。随着大数据技术的发展,HBase面临着更复杂多样的数据格式和业务需求,因此...
时序数据库的核心特点包括: 1. 高效插入:时序数据通常是连续且有序的,因此数据库设计通常优化了批量插入和追加操作,确保在高并发环境下仍能保持高性能。 2. 时间戳索引:由于数据与时间紧密关联,时序数据库...
在技术实现上,网易大数据体系可能采用了多种分布式时间序列数据库,如DDB、HBase、ES、Druid、OpenTSDB等,以及自研的时序数据库。这些数据库系统专门针对时序数据的特点进行了优化,能够处理大规模、高并发的时序...
在数字化时代,对生产设备的实时数据分析和处理成为了一...通过Flink、OpenTSDB、Kafka和Hadoop等技术的结合,该平台能够实现对生产设备监控数据的高效管理和实时计算,为智能制造和工业信息化提供了强有力的技术支持。
技术架构基于OpenStack、Kubernetes、Hadoop、OpenTSDB等开源技术,实现集群化统一管理。平台支持多种工控设备,并具备MQTT等上行协议支持。IaaS层采用Openstack+KVM自主研发,增强了功能和性能。PaaS层基于...
对于初学者而言,理解不同类型的数据库及其特点,是掌握数据库技术的基础。本文将深入探讨各种数据库类型,包括关系型数据库、非关系型数据库(NoSQL)、对象数据库、时间序列数据库、图形数据库等,帮助读者建立...
3. 时间序列数据库:针对设备装置产生的大量时间序列数据,专门设计的时间序列数据库(如InfluxDB、OpenTSDB)能提供更好的性能和存储效率。 四、实时数据处理架构 1. Lambda架构:这是一种常见的实时处理架构,...
- **例子**: InfluxDB、OpenTSDB等是常见的时序数据库。 **2. 空间数据库** - **特点**: 空间数据库用于存储和处理空间和地理信息数据,例如地图坐标、地理标记等。这类数据库通常支持复杂的地理空间查询和分析...
数据库技术的选择中包括了MySQL、MongoDB、HBase以及OpenTSDB。其中,MySQL作为关系型数据库适合存储静态信息,有ORM支持;MongoDB是基于文档的数据库,也有ORM支持,但维护和扩展困难;HBase作为列式数据库,写入...
标题《数字中国行——阿里云HBase全新X-Pack让NoSQL数据库再上新台阶》和描述表明本文档是关于阿里云发布的HBase X-Pack增强包,旨在进一步提升NoSQL数据库HBase的能力,进而推动数字中国在技术上的发展。...