01_InfluxDb

概览

时序数据库,对时序场景有特别的优化

课程地址

https://www.bilibili.com/video/BV1xd4y1c73c

Flux语言

InFluxDb使用的语言

安装

… …

使用场景

监控场景
比如运维 IOT 物联网

底层原理-数据结构

LSM - 日志结构化合并树

数据价值

热数据

只会使用10分钟内的数据,那么这就是 热数据

冷数据

超过10分钟内的数据,应该被压缩的数据

数据只写不改

只能写,不能删除,修改, 没有事务

InFluxDb 1.8 生态

InFluxDb

数据存储和查询

查询语言

InFluxQL

Telegraf

数据采集组件,收集并发送数据到 InFluxDb

Chronograph_画面插件

web界面,对Telegrapf 进行操作. 提供图表展示功能

Kapacitor

定时任务,报警任务.后台处理报警信息

InFluxDb 2.2 生态

InFluxDb

报警功能,定时任务
数据存储和查询
WebUI界面

查询语言

FLUX

Telegrapf

数据采集和发送

集群

influxdb没有集群版本,需要购买

集群方案

InFluxDb Cluster
InfluxDb Proxy
InfluxDb Proxy
在这里插入图片描述

InfluxDB 是一种流行的时间序列数据库,它具有高性能和可伸缩性。InfluxDB 提供了许多聚合函数,例如 sum、mean、median、min、max、count 等,可以用来处理时间序列数据。 在 Java 中使用 InfluxDB 的聚合函数非常简单。首先,我们需要添加 InfluxDB 的依赖: ```xml <dependency> <groupId>org.influxdb</groupId> <artifactId>influxdb-java</artifactId> <version>2.14</version> </dependency> ``` 然后,我们可以使用 InfluxDB 的 Query API 来执行聚合函数查询。以下是一个示例代码,演示了如何使用 InfluxDB 的聚合函数来计算指定时间范围内的平均温度: ```java import org.influxdb.InfluxDB; import org.influxdb.InfluxDBFactory; import org.influxdb.dto.Query; import org.influxdb.dto.QueryResult; public class InfluxDBExample { public static void main(String[] args) { // 创建 InfluxDB 实例 InfluxDB influxDB = InfluxDBFactory.connect("http://localhost:8086", "admin", "admin"); // 构建查询语句 String query = String.format("SELECT MEAN(temperature) FROM sensors WHERE time >= '%s' AND time <= '%s'", "2021-01-01T00:00:00Z", "2021-01-02T00:00:00Z"); // 执行查询 QueryResult queryResult = influxDB.query(new Query(query, "mydb")); // 处理查询结果 double avgTemperature = queryResult.getResults().get(0).getSeries().get(0).getValues().get(0).get(1); System.out.println("Average temperature: " + avgTemperature); } } ``` 在上面的示例中,我们使用了 `MEAN()` 聚合函数来计算指定时间范围内的平均温度。查询语句中的 `sensors` 是数据表的名称,`temperature` 是数据表中存储温度数据的列名。 注意,查询语句中的时间范围必须使用 InfluxDB 的时间格式,即 `YYYY-MM-DDTHH:mm:ssZ`,其中 `T` 和 `Z` 分别代表时间和时区。在 Java 中,我们可以使用 `java.time.format.DateTimeFormatter` 类来格式化时间。 除了平均温度,我们还可以使用 InfluxDB 的其他聚合函数来计算时间序列数据的各种统计信息,例如总和、中位数、最小值、最大值、计数等。这些聚合函数可以帮助我们更好地理解时间序列数据的趋势和变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值