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();
相关推荐
KIDULT°3 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
我不是程序员三三3 小时前
透明加密软件偶发解密异常排错实录:文件时能打开时乱码
数据库·域智盾
snhna3 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
天行健,君子而铎4 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
网络·数据库·安全
牛战士coding4 小时前
MySQL 读写分离完整链路:主从复制、多数据源与 @DS 路由
数据库·mysql
goehou5 小时前
MCP 查数实战:让 LLM 安全地查数据库(只读账号、SQL 校验、参数漂移)
数据库·ai·llm·教程·mcp·function calling
我不会插花弄玉5 小时前
7.函数【由浅入深-MySQL】
android·数据库·mysql
周小董5 小时前
[1369]Windows上安装PostgreSQL
数据库·windows·postgresql
一只积极向上的小咸鱼7 小时前
第一性原理思考:从拆解问题到用实验检验答案
数据库
这个DBA有点耶8 小时前
时序数据库InfluxDB高基数问题深度拆解:内存索引膨胀机制与OOM完整链路
数据库·架构·dba