首页 > 编程知识 正文

时序数据库druid,tsdb时序数据库

时间:2023-05-05 09:21:48 阅读:174090 作者:1724

目录

什么是InfluxDB

2 .那么时间序列数据有什么特征呢?

3 .关于时间序列数据,总结了以下特征。

4 .运营商常见需求

5 .时间序列数据库是为了解决什么问题?

6.InfluxDB数据库的好处

http://www.Sina.com/http://www.Sina.com /

在介绍InfluxDB之前,按时间顺序记录1 .什么是InfluxDB系统和设备状态变化的数据称为CPU利用率、环境温度等时间序列数据(Time Series Data )。

时序数据以时间为主要检索纬度,通常以连续多条时序数据为线,生成基于时间的多纬度报表,揭示数据背后的趋势、规律和异常,进行实时在线预测和预警。InfluxDB是一个开源的、高性能的时序型数据库,在时序型数据库DB-Engines Ranking上排名第一。随着物联网时代的到来,时序数据的数据量在井场爆发,对此数据细分的优化存储显得越来越重要。

最初,使用通用存储系统(如MySQL )存储时间序列数据。 KDB、RRDtool、Graphite等第一代时序平台于20年前推出,主要用于数据中心时序数据的存储与分析、高频金融数据、股价波动率等。

DB-Engines等数据库趋势跟踪和行业分析网站发布的信息显示,时序数据原因明显,数据库、网络、容器、系统、APP应用等计算机虚拟

现在越来越多的企业通过时序存储和数据分析获得了预测能力和实时决策能力,为客户提供了更好的使用体验。 也就是说,必须发展底层数据平台以应对新的工作负载挑战,要求下一代时间戳有更多的数据点、数据源、监控维度、控制策略和更准确的实时响应

2 .那么时间序列数据有什么特征呢?

时间序列数据具有以下属性:

的数据集。 类似于关系数据库中的table

与关系数据库中的row相似的数据点;

时间戳(timestamp )表示收集数据的时间点

表示数据的归属、属性,指示是由哪个设备/模块生成的,一般不随时间变化,用于查询;

指标列(field )表示数据的测定值,随着时间平滑地变动。

下图所示的数据:

3 .关于时间序列数据,总结了以下特征。

1 .数据特征:数据量大,数据随时间增加,同一维度取重复值,指标平稳变化(某车某设备上传平稳变化的轨迹坐标)。

2 .写入特点:高并发写入且不更新【磁道不更新】【基本为插入,无更新需求】。

3 .检测特点:不同维度统计分析指标,存在明显冷热

数据,一般只会查询近期数据(一般我们只会关心近期的轨迹数据)。

4. 数据基本上都有时间属性,随着时间的推移不断产生新的数据。

5. 数据量大,每秒钟需要写入千万、上亿条数据

4.业务方常见需求

1. 获取最新状态,查询最近的数据(例如传感器最新的状态)

2. 展示区间统计,指定时间范围,查询统计信息,例如平均值,最大值,最小值,计数等。。。

3. 获取异常数据,根据指定条件,筛选异常数据

举例:

监控软件系统: 虚拟机、容器、服务、应用

监控物理系统: 水文监控、制造业工厂中的设备监控、国家安全相关的数据监控、通讯监控、传感器数据、血糖仪、血压变化、心率等

资产跟踪应用: 汽车、卡车、物理容器、运货托盘

金融交易系统: 传统证券、新兴的加密数字货币

事件应用程序: 跟踪用户、客户的交互数据

商业智能工具: 跟踪关键指标和业务的总体健康情况

在互联网行业中,也有着非常多的时序数据,例如用户访问网站的行为轨迹,应用程序产生的日志数据等等

5.时序数据库为了解决什么问题?

传统数据库通常记录数据的当前值,时序型数据库则记录所有的历史数据,在处理当前时序数据时又要不断接收新的时序数据,同时时序数据的查询也总是以时间为基础查询条件,并专注于解决以下海量数据场景的问题:

专为时序存储和高性能读写而设计:计算机虚拟世界的各种系统和应用,以及物理世界的IoT设备等都在创建海量的时序数据,每秒千万级的数据吞吐量是很常见的,而且这些数据还需要可以以非阻塞方式接收并且可压缩以节省有限的存储资源。如何支持千万级/秒数据的写入。如何支持千万级/秒数据的聚合和查询。专为实时操作而设计:预测能力和实时决策能力,需要收到数据后,就能实时输出最新的数据分析结果,执行预定义的操作。专为高可用性而设计:现代软件系统需要全天候可用,除了基本的集群能力,还需要根据需求自动扩容和缩容,支持柔性可用等。成本敏感:海量数据存储带来的是成本问题,如何更低成本地存储这些数据,是时序型数据库需要解决的关键问题。

6.InfluxDB的优势

InfluxData选择从头开始构建InfluxDB以支持下一代时序中台的需求,InfluxDB通过实现高度可扩展的数据接收和存储引擎,可以高效地实时收集、存储、查询、可视化显示和执行预定义操作。它通过连续查询提升查询效率和缩短延迟,通过数据保留策略,及时高效地删除过期冷数据,提升存储效率。

为什么通用数据库在时序场景上不是最优的选择呢?许多通用数据库正在为时序数据添加一些支持,虽然可能很容易使用,但它们基本上都不是针对海量时序数据的吞吐量和实时操作而设计的。

与InfluxDB相比,通用数据库,如Cassandra、MongoDB、HBase等,需要开发人员投入大量的时间进行代码编写,以开发与InfluxDB类似的功能。具体来说,开发人员需要做如下工作:

编写代码实现跨集群数据分片功能、聚合运算和采样功能、数据生命周期管理功能等。实现丰富的API接口。编写用于数据采集的工具。实现实时处理模块并编写用于监控和警报的代码。编写可视化引擎以向用户显示时序数据。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。