随笔 - 435  文章 - 0  评论 - 111  阅读 - 62万 

什么是时间序列数据(Time Series Data,TSD,以下简称时序)就是一串按时间维度索引的数据。

用描述性的语言来解释什么是时序数据,简单的说,就是这类数据描述了某个被测量的主体在一个时间范围内的每个时间点上的测量值。
包含三个重要部分,分别是:主体,时间点和测量值。

 

下图为一段时序数据,记录了一段时间内的某个集群里各机器上各端口的出入流量,每半小时记录一个观测值。这里以图中的数据为例,介绍下时序数据的数学模型

measurement: 度量的数据集,类似于关系型数据库中的 table;

point: 一个数据点,类似于关系型数据库中的 row;

timestamp: 时间戳,表征采集到数据的时间点;

tag: 维度列,代表数据的归属、属性,表明是哪个设备/模块产生的,一般不随着时间变化,供查询使用;

field: 指标列,代表数据的测量值,随时间平滑波动,不需要查询。

时序数据库 如何选用呢? 

InfluxDB有windows版, 个人版免费.Kdb+是金融行业用的多, 个人版2个小时就要重启一次.

TimescaleDB 基于PostgreSQL,  国产DolphinDb号称速度最快, 但下载下来文档界面不太友好.

涛思TDengine只有Linux版. 我这边都是windows上的小应用

 

 

 

2.0的版本已经把零散的工具整合在localhost:8086 的web界面. 只要启动influxd就可以了

 

 

 

 net的客户端在nuget上可以安装

Install-Package InfluxDB.Client

要求.net standard2.0以上( 也就是.net framework 4.61以上)

复制代码
 // You can generate a Token from the "Tokens Tab" in the UI
            const string token = "rjWC3CEwHwPxmYQ4SQkZb_9zBW24aEchFP5uIG7pDh0DFOQ4F_xWw7bCjnTBmhRinbV1ndF0eKuToBgjsFnwAg==";
            const string bucket = "kdBucket";
            const string org = "kd";

            var client = InfluxDBClientFactory.Create("http://localhost:8086", token.ToCharArray());

            //Option 1: Use InfluxDB Line Protocol to write data
            const string data = "mem,host=host1 used_percent=23.43234543";
            using (var writeApi = client.GetWriteApi())
            {
                writeApi.WriteRecord(bucket, org, WritePrecision.Ns, data);
            }

            //Option 2: Use a Data Point to write data
            var point = PointData
                      .Measurement("mem")
                      .Tag("host", "host1")
                      .Field("used_percent", 23.43234543)
                      .Timestamp(DateTime.UtcNow, WritePrecision.Ns);

            using (var writeApi = client.GetWriteApi())
            {
                writeApi.WritePoint(bucket, org, point);
            }
复制代码

 

posted on   Gu  阅读(1507)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示