InfluxDB:开启你的高性能读写数据之旅!

简介: InfluxDB:开启你的高性能读写数据之旅!

简介influxDb

InfluxDB 是一款开源的时序数据库(Time Series Database,简称TSDB)。

专门设计用于高效地存储、检索和分析时间序列数据。

这种类型的数据通常由时间戳和一组数值组成,广泛用于监控系统、传感器数据收集、实时分析等多种应用场景。

influxDB具有以下特点:

高性能数据存储:InfluxDB的 TSM 引擎提供了数据的高速读写和压缩功能,使其在处理大规模时序数据时表现出色。

简单高效的API接口:InfluxDB 提供了简单高效的 HTTP API 用于数据的写入和查询,以及类似SQL的查询语言,便于用户进行数据聚合查询

索引功能:InfluxDB 允许对 tag 建立索引,实现快速有效的数据查询

数据保留策略:InfluxDB 具有数据保留策略,可以自动使旧数据失效,从而优化存储空间的使用

部署简单:InfluxDB 利用 Go语言 的特性,无需任何外部依赖即可独立部署,简化了部署过程

丰富的聚合运算和采样能力:InfluxDB 提供了灵活的数据保存策略和连续查询功能,适合对海量数据进行采样和分析

支持多种协议:InfluxDB 支持多种数据采集协议,包括 HTTP、UDP 等,同时兼容其他数据采集组件的通讯协议

强大的生态:InfluxDB 是 TICK 栈的一部分,与其他组件如 Telegraf 、Chronograf 、Kapacitor等集成,提供从数据采集到可视化的完整解决方案

数据可视化和监控集成:InfluxDB 可以与 Grafana 、Prometheus 等数据可视化工具和监控系统集成,方便用户创建监控仪表盘和分析数据

高性能读写:InfluxDB 针对时间序列数据进行了优化,具有高写入和高查询性能,适合处理大规模数据量

数据压缩:InfluxDB 利用时间序列数据的特性进行数据压缩,有效减小存储占用

可扩展性:InfluxDB 支持水平扩展,可以通过增加节点来提高存储和查询能力

安装

进入官网


https://www.influxdata.com/

下载influxdb

启动服务

把下载好的安装包解压后,打开 cmd 窗口,切换到运行文件目录。输入:influx

此时 influx 服务已经启动,然后就是初始化配置。

基本配置

打开浏览器窗口输入以下网址:


http://127.0.0.1:8086/

出现以下界面

开始配置

配置完成

influx 名词跟关系数据库的对比

sql influx
表(Table) 逻辑容器(measurement)
库(database) 桶(buckets)
列(column) 字段(Field)
索引(Index) 索引(tags)

添加数据

此处用 http 添加数据,用 postman 导入下面 url


curl --request POST \
"http://localhost:8086/api/v2/write?org=YOUR_ORG&bucket=YOUR_BUCKET&precision=ns" \
  --header "Authorization: Token YOUR_API_TOKEN" \
  --header "Content-Type: text/plain; charset=utf-8" \
  --header "Accept: application/json" \
  --data-binary '
    airSensors,sensor_id=TLM0201 temperature=73.97038159354763,humidity=35.23103248356096,co=0.48445310567793615 1630424257000000000
    airSensors,sensor_id=TLM0202 temperature=75.30007505999716,humidity=35.651929918691714,co=0.5141876544505826 1630424257000000000
    '

更改 token ,org ,和 bucket

influx 的写入格式如下:


measurement,tag_key=tag_value field_key="field_value" timestamp

查看添加的数据

读取数据

此处用 http 请求读取数据,用 postman 导入以下 curl


curl -G "http://[InfluxDB_host]:8086/query?db=mydb" --data-urlencode "q=SELECT+\"value\"+FROM+\"temperature\"+WHERE+time+%3E%3D+now%28%29+-+1h" --header "Authorization: Token [YourAuthToken]"

更改成你自己的配置,读取数据如下:

删除数据

此处用 http 请求读取数据,用 postman 导入以下 curl


curl --location --request POST 'http://127.0.0.1:8086/api/v2/delete?org=root&bucket=environment' \
--header 'Authorization: Token [youer token]' \
--header 'Content-Type: application/json' \
--data-raw '{
    "start":"2020-06-10T16:00:00Z",
    "stop":"2024-07-11T19:40:00Z"
}'

控制面板查看,此时是有数据的:

执行删除:

此时查看数据已经没有了:

总结

InfluxDB 的使用场景主要集中在需要高效处理和分析时间序列数据的领域。

比如:监控系统,物联网,实时分析,金融交易监控,环境监测等。

尽管 influx 的性能强大,但是跟传统数据的使用场景还是有很大区别,比如时序数据库不支持修改数据。

选择合适的工具,完成目标才是最重要的。



相关文章
|
存储 NoSQL 关系型数据库
InfluxDB 通识篇
InfluxDB 通识篇
2938 0
|
数据可视化 安全 网络安全
Window下安装并使用InfluxDB可视化工具 —— InfluxDBStudio
Window下安装并使用InfluxDB可视化工具 —— InfluxDBStudio
5312 0
Window下安装并使用InfluxDB可视化工具 —— InfluxDBStudio
|
存储 数据库 时序数据库
InfluxDB基本操作
InfluxDB基本操作
1302 0
|
SQL JSON 数据库
influxdb 端点使用http进行sql查询,写数据
influxdb 端点使用http进行sql查询,写数据
1412 0
|
存储 监控 关系型数据库
InfluxDB 时序数据的高效解决方案
InfluxDB 是一种专为时间序列数据优化的开源数据库,支持高效存储、检索和分析大量时序数据。它采用 Tag-Key-Value 模型,提供高性能写入与查询能力,适合监控系统、物联网设备数据及实时分析等场景。相比传统关系型数据库(如 MySQL),InfluxDB 针对时序数据进行了架构优化,具备无模式设计、自动数据管理及灵活扩展性等优势。本文通过 Go 语言代码实战展示了如何连接、写入和查询 InfluxDB 数据,并介绍了其核心概念与应用场景,助力开发者快速上手时序数据库开发。
1840 0
InfluxDB 时序数据的高效解决方案
|
消息中间件 关系型数据库 MySQL
Flink最后一站___Flink数据写入Kafka+从Kafka存入Mysql
Flink最后一站___Flink数据写入Kafka+从Kafka存入Mysql
531 0
|
存储 数据库 时序数据库
InfluxDB的安装与Python调用
InfluxDB是一个高性能的时序数据库(Time-Series Database, TSDB),用于存储和分析时间序列数据的开源数据库,它非常适合于处理大量的时间戳数据,如金融市场数据、IoT 设备数据、监控数据等,尤其适合处理大量的时序数据和高频数据。 主要特性有: • 内置HTTP接口,使用方便 • 数据可以打标记,查询可以很灵活 • 类SQL的查询语句 • 安装管理很简单,并且读写数据很高效 • 能够实时查询,数据在写入时被索引后就能够被立即查出
InfluxDB的安装与Python调用
|
数据采集 存储 监控
一站式数据采集存储的利器:阿里云InfluxDB®️数据采集服务
阿里云InfluxDB®除了提供稳定可靠的时序数据库服务,还提供了非常便捷的数据采集服务。用户能够方便查看各个采集源的运行状态并管理它们,采集的数据会自动存储到阿里云InfluxDB®。用户无需担心运维的问题,实现数据从采集到分析的一站式服务。
3279 0
|
存储 数据处理 数据库
InfluxDB数据之谜:如何巧妙地删除和修改你的时间序列数据?
【8月更文挑战第20天】InfluxDB是一款高性能时间序列数据库,专为快速存储与检索时间序列数据设计。本文通过Python示例介绍如何在InfluxDB中执行数据删除与间接修改操作。首先安装`influxdb`库,接着连接数据库。使用`DELETE`语句可按条件删除数据;因InfluxDB不直接支持数据修改,可通过查询、更新并重写数据的方式来实现。注意这种方式可能影响性能,需谨慎使用。随着社区发展,未来将提供更多高效的数据管理工具。
2191 1