Skip to content

Releases: eedalong/Apache-IoTDB-Client-CSharp

版本发布

16 Jan 12:39
604e0d6
Compare
Choose a tag to compare
版本发布 Pre-release
Pre-release

IoTDB C# Client 1.0.0.1 Pre-release Note

本次更新适配了IoTDB 1.0.x版本,修复过往版本中存在的漏洞 #89 #87

欢迎各位用户试用、提issue👏

版本发布

26 Aug 03:20
Compare
Choose a tag to compare

IoTDB C# Client 0.13.0.7 Release Note

本次发布是0.13.0.7的正式版本发布

主要更新如下

一. 添加对于ADO .NET支持

为了更加适配 .NET 读取数据库的方式以及方便不同使用习惯的用户,我们提供了对于ADO .NET的支持,用户可以使用Apache.IoTDB.Data这一nuget包,用户也依然可以使用之前的Apache.IoTDB包。

二. 调整项目结构

为了减少项目依赖,我们不再将RPC相关代码生成单独的nuget包,而是将其放入主体代码内部。

三. 调整自动测试的方法

我们在自动测试中改为使用IoTDB 0.13.0的docker image进行测试,测试结果更为稳定可靠

四. 向下兼容

支持.NET 4.6.1,并合并了Apache.IoTDB与Apache.IoTDB.Framework两个nuget包

预览版本发布

22 Jul 11:20
Compare
Choose a tag to compare
预览版本发布 Pre-release
Pre-release

IoTDB C# Client 0.13.0.7 Pre-release Note

本次更新是改进IoTDB C#客户端

主要更新如下

一. 添加对于ADO .NET支持

为了更加适配 .NET 读取数据库的方式以及方便不同使用习惯的用户,我们提供了对于ADO .NET的支持,用户可以使用Apache.IoTDB.Data这一nuget包,用户也依然可以使用之前的Apache.IoTDB包。

二. 调整项目结构

为了减少项目依赖,我们不再将RPC相关代码生成单独的nuget包,而是将其放入主体代码内部。

三. 调整自动测试的方法

我们在自动测试中改为使用IoTDB 0.13.0的docker image进行测试,测试结果更为稳定可靠

四. 向下兼容

支持.NET 4.6.1,并合并了Apache.IoTDB与Apache.IoTDB.Framework两个nuget包

版本发布

15 Apr 01:34
Compare
Choose a tag to compare

IoTDB C# Client 0.13.0.1 Release Note

本次更新是为了适配Apache IoTDB 0.13.0版本

主要更新如下

一. 添加对齐序列的插入接口

IoTDB在0.13.0版本中引入了对齐时间序列,在底层的存储方式上与非对齐时间序列存在区别,并且二者不能共存,因此在插入对应的数据结构时,我们需要指定InsertPlan

针对所有的Insert*Async 接口,我们都添加了对应的InsertAligned*Async 接口,保证对齐时间序列能够正确插入

二. 添加SchemaTemplate相关接口

IoTDB在0.13.0版本中引入了SchemaTemplate,减少元数据开销,节省存储空间。为此我们添加了对应的操纵SchemaTemplate的接口,方便用户直接使用客户端操作和查询Template相关内容

三. 接口增强

针对用户反馈的重启IoTDB后接口执行错误的问题,我们增强了所有对应的接口: 一旦连接出现问题,我们会让客户端重新与服务端建立连接并且重新发送对应的请求

版本发布

09 Sep 03:18
ae2770c
Compare
Choose a tag to compare

一. 添加相关文档

我们添加了API文档,向用户解释了一些核心概念以及我们封装的接口,同时我们也添加了SessionPool文档,向用户详细阐释了客户端中定制化线程池的实现,并且我们做了细致的time profiling,展示了使用线程池比起单线程所带来的性能提升

二. 命名调整

我们将所有相关函数和变量的命名都修改为Pascal模式

版本发布

20 Jun 07:23
Compare
Choose a tag to compare

一. 适配0.12.x版本的IoTDB Server

原先的客户端版本,使用0.11.x版本的server没有出现问题,在使用0.12.x版本的server的过程中出现了Record插入错误,报错内容为数据类型不匹配,原因是0.12.x版本的server在序列化某些数据时改为使用byte而非在0.11.x版本中的short,因此,我们将序列化时使用的char改为byte,从而成功适配0.12.x版本的IoTDB Server

二. 结构和命名调整

对仓库的整体结构进行了大规模调整,以期适应C# 用户的使用习惯,同时将所有函数和变量的命名规范修改为Pascal模式

三. 添加使用样例

添加了使用客户端的样例,详见使用样例,使得用户能够更快上手使用我们的客户端

重大版本更新

28 Apr 00:45
2e8f4cb
Compare
Choose a tag to compare

重大版本更新!!!!

由于这个版本更新实在是太大了,避免英文介绍不清楚故直接使用中文来介绍。

一、抛除了Session,只支持SessionPool

在原先的版本中我们支持Session, 后来为了支持并发客户端请求继而又支持了SessionPool, 然而SessionPool本身为Session的超集,当SessionPoolpool_size设置为1时便退化到了Session。思考再三我们决定去除掉对Session的支持,日后只专注于支持SessionPool以避免代码变得越来越庞大。

二、抛除 Field的抽象

Field本身提供的是泛型的概念,其最初来源于C++客户端的实现后被Go语言客户端以及Python客户端沿用。但实际上C#本身支持Generic Type,故在C#客户端中我们决定去除Field,进而直接使用Object泛型。

三、Record相关API更新

在过去的版本中我们参考IoTDB的接口封装参数形式,对Record相关接口参数分别有type_listvalue_list,同时 value_list为值的string形式。这实际上本质来源于C++客户端中没有实现对泛型很好的支持,进而通过这种方式进行接口支持。在C#中我们借助泛型,使得各种面向用户的Record相关接口参数直接接受Record,同时Record的定义如下。

 public RowRecord(long timestamp, List<Object> values, List<string> measurements){
        this.timestamp = timestamp;
        this.values = values;
        this.measurements = measurements;
    }

Record的接口变成如下形式

public async Task<int> insert_record_async(string device_id, RowRecord record){}

新版本的接口在易用性上有较大的提升,同时对序列化性能有更友好。

四、 面向用户的接口均为Async接口

SessionPool中我们将面向用户的接口均实现为async接口以方便用户层的使用。

五、使用示例

用户可参照测试代码了解使用示例

Enhancement and New Feature

26 Apr 02:09
Compare
Choose a tag to compare

IoTDB CSharp Client Release Note

Enhancement

1. SessionPool

  • To meet needs for high performance client, we support SessionPool which will create N client connection with IoTDB server. SessionPool expose almost all APIs as async method except for open, close etc. You can refer SessionPoolTest.cs to see how to use session_pool.

2. Parallel Serialization

  • Support parallel serialization in insert_records and insert_records_of_one_device to fasten serialization

Docs

Bug Fix And Feature Enhancement Release

23 Apr 00:06
Compare
Choose a tag to compare

IoTDB CSharp Client Release Note

Bug Fix

  • get_datetime in RowRecord return datetime in local timezone

Feature Enhancement

Enhancement and New Features release

22 Apr 03:09
ecfe1ee
Compare
Choose a tag to compare

IoTDB CSharp Client Release Note

Enhancement

  • Optimize memory allocation in ByteBuffer, which will be extended by 2x when needed. This will speedup huge Tablet serialization for about 35x when testing on a Tablet with 20,000 rows.

New Features

New Features about Field

  • support type conversion with get_bool, get_int, get_long, get_str, get_float

New Features about RowRecord

  • support append which can append Field to a RowRecord
  • support indexing for RowRecord, you can get or set field by calling row_record[index]
  • support get datetime from RowRecord which will be converted from timestamp in RowRecord

Credits

We appreciate users's suggestions from #16, #15.