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();
相关推荐
weixin_5206498717 小时前
数据库函数
数据库
Bert.Cai17 小时前
MySQL LPAD()函数详解
数据库·mysql
OnlyEasyCode18 小时前
Navicat 任务自动备份指定数据库
数据库
if else19 小时前
Redis 哨兵集群部署方案
数据库·redis
yejqvow1219 小时前
Pandas 高效实现组内跨行时间戳匹配与布尔标记
jvm·数据库·python
了不起的云计算V19 小时前
从DeepSeek V4适配看国产算力的三个拐点
数据库·人工智能
qq_1898070319 小时前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python
norq juox19 小时前
MySQL 导出数据
数据库·mysql·adb
qq_3493174820 小时前
mysql如何设置定时自动备份脚本_编写shell脚本与cron任务
jvm·数据库·python
9523620 小时前
Spring IoC&DI
java·数据库·spring