influxdb

  1. influxDB优点

(1). 安装配置简单(Golang编写)

(2). 原生HTTP接口

(3). 类SQL的查询语言

2.安装

下载:  wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.6.x86_64.rpm

安装:  sudo yum localinstall influxdb-1.7.6.x86_64.rpm

启动:  sudo service influxdb start

添加用户 create user root with password '123456' with all privileges

web管理 http://localhost:8083/

配置文件路径/etc/influxdb/influxdb.conf

 

3.架构图

术语和概念  influxDB与mysql 对比

 

 

 

4.基本操作

启动服务:  sudo service influxdb start

重启服务:  service influxdb restart

停止服务:  sudo service influxdb stop

查看状态:  sudo service influxdb status

进入交互:  influx

退出交互:  exit

 

 

create database db_name  创建数据库

drop database   db_name  删除数据库

show databases; 显示数据库

use database_name; 进入数据库

show measurements; 显示该数据库中的表

delete from tableName 删除数据

drop measurement tableName; 删除表

 

对数据库的操作与mysql相同,influxdb中没有table,只有measurement

 

创建保存策略

CREATE RETENTION POLICY "策略名称" ON "库名称" DURATION 2h REPLICATION 1 DEFAULT

// DURATION 2h 保存两小时

//REPLICATION 1 备份1  DEFAULT表示设为为默认

 

查询保存策略

show retention policies on DBName

 

插入数据格式

insert  表名称,标签1=值1,标签2=值2 字段1=值1,字段2=值2 时间戳

 

查询语句的条件可以传时间time字段,可以排序按照时间粒度分组等等

例 select count(field2) from mytest where time > now() - 3h group by time(1h)

上面sql表示查询表mytest最近3小时的数据,按照小时粒度分组,统计条数

 

5.Java api

Pom依赖

<dependency>

<groupId>org.influxdb</groupId>

<artifactId>influxdb-java</artifactId>

<version>2.10</version>

</dependency>

 

 

 

翻译资料地址:

 

   https://www.jianshu.com/p/752481bbeda0?nomobile=yes

https://blog.csdn.net/king_yh/article/details/89848785

https://blog.csdn.net/x541211190/article/details/83216589

https://www.liangzl.com/get-article-detail-125680.html

https://blog.csdn.net/weixin_36135773/article/details/78789443

 

官方文档:

 

influxdb 集群搭建https://docs.influxdata.com/influxdb/v0.11/clustering/cluster_setup/

influxdb 集群移除操作:https://docs.influxdata.com/influxdb/v0.11/query_language/spec/#drop-server

influxdb API 写操作:https://docs.influxdata.com/influxdb/v0.11/guides/writing_data/

influxdb API查询操作:https://docs.influxdata.com/influxdb/v0.11/guides/querying_data/

 

InfluxDB是一个开源的时间序列数据库,专门为处理时间序列数据而设计。它非常适合用于存储和查询大量的时间点数据,如度量、事件和运行状况数据。InfluxDB以高性能、可扩展性和易用性而著称。 C#可以通过InfluxDB的客户端库与InfluxDB服务器进行交互。在C#中使用InfluxDB通常涉及以下几个步骤: 1. 安装InfluxDB .NET客户端库:通过NuGet包管理器安装InfluxDB.Client。 2. 连接到InfluxDB服务器:使用InfluxDB客户端库中的`InfluxDBClient`类来建立与InfluxDB服务器的连接。 3. 写入数据:使用客户端库提供的接口将数据写入InfluxDB。 4. 查询数据:执行查询操作来从数据库获取数据。 下面是一个简单的代码示例,展示了如何在C#中使用InfluxDB .NET客户端库写入和查询数据: ```csharp using InfluxDB.Client; using InfluxDB.Client.Api.Domain; using InfluxDB.Client.Writes; // 创建客户端实例 using var client = InfluxDBClientFactory.Create("http://localhost:8086", "my-token"); // 创建一个写入点 var point = PointData .Measurement("cpu_usage") .Tag("host", "server01") .Field("usage", 99.9) .Timestamp(DateTime.UtcNow, WritePrecision.Ns); // 写入数据 using (var writeApi = client.GetWriteApi()) { writeApi.WritePoint("my-bucket", "my-org", point); } // 查询数据 var fluxQuery = "from(bucket: \"my-bucket\") |> range(start: -5m) |> filter(fn: (r) => r[\"_measurement\"] == \"cpu_usage\")"; var tables = client.GetQueryApi().Query(fluxQuery); // 遍历结果 foreach (var table in tables) { foreach (var record in table.Records) { Console.WriteLine($"{record.Time} {record.GetField()}"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小钻风巡山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值