IoTDB时序数据库使用

简介

Apache IoTDB 是一款低成本、高性能的物联网原生时序数据库。它可以解决企业组建物联网大数据平台管理时序数据时所遇到的应用场景复杂、数据体量大、采样频率高、数据乱序多、数据处理耗时长、分析需求多样、存储与运维成本高等多种问题。
IoTDB官网

1. 连接数据库

官方提供了多种语言的连接数据库的方式和案例,这里使用的C#语言连接IoTDB

添加NuGet包 Apache.IoTDB

csharp 复制代码
SessionPool sessionPool = new SessionPool("localhost", 6667, 2);
sessionPool.Open(false).Wait(); //此处必须使用wait,否则在close时后端会报错

2. 写数据

csharp 复制代码
List<string> fields = new List<string>() { "temple" };
List<object> values = new List<object>() { 16.5 };
RowRecord row = new RowRecord(DateTime.UtcNow, values, fields);
await sessionPool.InsertRecordAsync("root.test.device", row);

3. 读数据

目前好像只能执行sql的方式,如果官方能增加类似Sqlsugger语法糖就更好了

csharp 复制代码
var result = await sessionPool.ExecuteQueryStatementAsync("select * from root.test.device");
if (result != null)
{

    for (int i = 0; i < result.RowCount; i++)
    {
        var row = result.Next();
        Console.WriteLine($"{row.Measurements[0]}:{row.Values[0]}");
    }
}

4. 关闭数据库连接

关闭连接,也是比较简单

csharp 复制代码
await sessionPool.Close();
相关推荐
l***2178几秒前
MySql-9.1.0安装详细教程(保姆级)
数据库·mysql
v***Y892 分钟前
SQL 中 COUNT 的用法详解
数据库·sql
I***t7165 分钟前
【MYSQL】聚合查询、分组查询、联合查询
数据库·sql·mysql
f***14777 分钟前
MySQL -- 约束
数据库·mysql·oracle
0***863316 分钟前
【SQL技术】不同数据库引擎 SQL 优化方案剖析
数据库·sql
s***353017 分钟前
关于Mysql 中 Row size too large (> 8126) 错误的解决和理解
数据库·mysql
Evan芙21 分钟前
Ubuntu系统网卡地址定制
网络·数据库·ubuntu
原神启动123 分钟前
云计算大数据——MySQL数据库一(数据库基础与MySQL安装)
大数据·数据库·云计算
zwm_yy25 分钟前
redis原生语句回顾
数据库·redis
c***937726 分钟前
【MySQL】深度学习数据库开发技术:使用CC++语言访问数据库
数据库·mysql·数据库开发