连接器

TDengine 提供了丰富的应用程序开发接口,为了便于用户快速开发自己的应用,TDengine 支持了多种编程语言的连接器,其中官方连接器包括支持 C/C++、Java、Python、Go、Node.js、C# 和 Rust 的连接器。这些连接器支持使用原生接口(taosc)和 REST 接口(部分语言暂不支持)连接 TDengine 集群。社区开发者也贡献了多个非官方连接器,例如 ADO.NET 连接器、Lua 连接器和 PHP 连接器。

TDengine Database connector architecture

支持的平台

目前 TDengine 的原生接口连接器可支持的平台包括:X64/ARM64 等硬件平台,以及 Linux/Win64 等开发环境。对照矩阵如下:

CPU OS Java Python Go Node.js C# Rust C/C++
X86 64bit Linux ● ● ● ● ● ● ●
X86 64bit Win64 ● ● ● ● ● ● ●
ARM64 Linux ● ● ● ● ○ ○ ●

其中 ● 表示官方测试验证通过,○ 表示非官方测试验证通过,— 表示未经验证。

使用 REST 连接由于不依赖客户端驱动可以支持更广泛的操作系统。

版本支持

TDengine 版本更新往往会增加新的功能特性,列表中的连接器版本为连接器最佳适配版本。

TDengine 版本 Java Python Go C# Node.js Rust
3.0.0.0 及以上 3.0.2以上 当前版本 3.0 分支 3.0.0 3.0.0 当前版本
2.4.0.14 及以上 2.0.38 当前版本 develop 分支 1.0.2 - 1.0.6 2.0.10 - 2.0.12 当前版本
2.4.0.4 - 2.4.0.13 2.0.37 当前版本 develop 分支 1.0.2 - 1.0.6 2.0.10 - 2.0.12 当前版本
2.2.x.x 2.0.36 当前版本 master 分支 n/a 2.0.7 - 2.0.9 当前版本
2.0.x.x 2.0.34 当前版本 master 分支 n/a 2.0.1 - 2.0.6 当前版本

功能特性

连接器对 TDengine 功能特性的支持对照如下:

使用原生接口(taosc)

功能特性 Java Python Go C# Node.js Rust
连接管理 支持 支持 支持 支持 支持 支持
普通查询 支持 支持 支持 支持 支持 支持
参数绑定 支持 支持 支持 支持 支持 支持
数据订阅(TMQ) 支持 支持 支持 支持 支持 支持
Schemaless 支持 支持 支持 支持 支持 支持
DataFrame 不支持 支持 不支持 不支持 不支持 不支持
连接器 - 图2info

由于不同编程语言数据库框架规范不同,并不意味着所有 C/C++ 接口都需要对应封装支持。

使用 http (REST 或 WebSocket) 接口

功能特性 Java Python Go C# Node.js Rust
连接管理 支持 支持 支持 支持 支持 支持
普通查询 支持 支持 支持 支持 支持 支持
参数绑定 暂不支持 暂不支持 支持 支持 暂不支持 支持
数据订阅(TMQ) 支持 支持 支持 暂不支持 暂不支持 支持
Schemaless 暂不支持 暂不支持 暂不支持 暂不支持 暂不支持 暂不支持
批量拉取(基于 WebSocket) 支持 支持 支持 支持 支持 支持
DataFrame 不支持 支持 不支持 不支持 不支持 不支持
连接器 - 图3warning
  • 无论选用何种编程语言的连接器,2.0 及以上版本的 TDengine 推荐数据库应用的每个线程都建立一个独立的连接,或基于线程建立连接池,以避免连接内的“USE statement”状态量在线程之间相互干扰(但连接的查询和写入操作都是线程安全的)。

安装客户端驱动

连接器 - 图4info

只有在没有安装 TDengine 服务端软件的系统上使用原生接口连接器才需要安装客户端驱动。

安装步骤

  • Linux
  • Windows
  • MacOS

  • 下载客户端安装包

下载 TDengine

TDengine Database

输入您的电子邮箱以接收下载链接

同意涛思数据通过此邮件地址联系我

请勾选同意,便于我 们通过邮件发送安装包给您。

下载

关闭

所有下载 2. 解压缩软件包

将软件包放置在当前用户可读写的任意目录下,然后执行下面的命令:tar -xzvf TDengine-client-VERSION.tar.gz 其中 VERSION 需要替换为实际版本的字符串。 3. 执行安装脚本

解压软件包之后,会在解压目录下看到以下文件(目录):

  • install_client.sh:安装脚本,用于应用驱动程序
  • taos.tar.gz:应用驱动安装包
  • driver:TDengine 应用驱动 driver
  • examples: 各种编程语言的示例程序(c/C#/go/JDBC/MATLAB/python/R) 运行 install_client.sh 进行安装。
  • 配置 taos.cfg

编辑 taos.cfg 文件(默认路径/etc/taos/taos.cfg),将 firstEP 修改为 TDengine 服务器的 End Point,例如:h1.tdengine.com:6030

连接器 - 图6tip
  1. 如本机没有部署 TDengine 服务,仅安装了应用驱动,则 taos.cfg 中仅需配置 firstEP,无需在本机配置 FQDN。
  2. 为防止与服务器端连接时出现“Unable to resolve FQDN”错误,建议确认本机的 /etc/hosts 文件已经配置了服务器正确的 FQDN 值,或配置好了 DNS 服务。
  3. 下载客户端安装包

下载 TDengine

TDengine Database

输入您的电子邮箱以接收下载链接

同意涛思数据通过此邮件地址联系我

请勾选同意,便于我 们通过邮件发送安装包给您。

下载

关闭

所有下载 4. 执行安装程序,按提示选择默认值,完成安装 5. 安装路径

默认安装路径为:C:\TDengine,其中包括以下文件(目录):

  • taos.exe:TDengine CLI 命令行程序
  • taosadapter.exe:提供 RESTful 服务和接受其他多种软件写入请求的服务端可执行文件
  • taosBenchmark.exe:TDengine 测试程序
  • cfg : 配置文件目录
  • driver: 应用驱动动态链接库
  • examples: 示例程序 bash/C/C#/go/JDBC/Python/Node.js
  • include: 头文件
  • log : 日志文件
  • unins000.exe: 卸载程序
  • 配置 taos.cfg

编辑 taos.cfg 文件(默认路径 C:\TDengine\cfg\taos.cfg),将 firstEP 修改为 TDengine 服务器的 End Point,例如:h1.tdengine.com:6030。

连接器 - 图8tip
  1. 如利用 FQDN 连接服务器,必须确认本机网络环境 DNS 已配置好,或在 hosts 文件中添加 FQDN 寻址记录, 如编辑 C:\Windows\system32\drivers\etc\hosts,添加类似如下的记录:192.168.1.99 h1.taos.com
  2. 卸载:运行 unins000.exe 可卸载 TDengine 应用驱动。
  3. 下载客户端安装包

下载 TDengine

TDengine Database

输入您的电子邮箱以接收下载链接

同意涛思数据通过此邮件地址联系我

请勾选同意,便于我 们通过邮件发送安装包给您。

下载

关闭

所有下载 4. 执行安装程序,按提示选择默认值,完成安装。如果安装被阻止,可以右键或者按 Ctrl 点击安装包,选择 打开。 5. 配置 taos.cfg

编辑 taos.cfg 文件(默认路径/etc/taos/taos.cfg),将 firstEP 修改为 TDengine 服务器的 End Point,例如:h1.tdengine.com:6030

连接器 - 图10tip
  1. 如本机没有部署 TDengine 服务,仅安装了应用驱动,则 taos.cfg 中仅需配置 firstEP,无需在本机配置 FQDN。
  2. 为防止与服务器端连接时出现“Unable to resolve FQDN”错误,建议确认本机的 /etc/hosts 文件已经配置了服务器正确的 FQDN 值,或配置好了 DNS 服务。

安装验证

以上安装和配置完成后,并确认 TDengine 服务已经正常启动运行,此时可以执行 TDengine CLI 工具进行登录。

  • Linux
  • Windows
  • MacOS

在 Linux shell 下直接执行 taos 连接到 TDengine 服务,进入到 TDengine CLI 界面,示例如下:

1. $ taos

3. taos> show databases;
4. name              |
5. =================================
6. information_schema             |
7. performance_schema             |
8. db                             |
9. Query OK, 3 rows in database (0.019154s)

11. taos>

在 cmd 下进入到 C:\TDengine 目录下直接执行 taos.exe,连接到 TDengine 服务,进入到 TDengine CLI 界面,示例如下:

1. taos> show databases;
2. name              |       create_time       | vgroups |        ntables        | replica | strict |  duration  |              keep              |   buffer    |  pagesize   |    pages    |   minrows   |   maxrows   | comp | precision |   status   |           retention            | single_stable | cachemodel  |  cachesize  | wal_level | wal_fsync_period | wal_retention_period |  wal_retention_size   | wal_roll_period |     wal_seg_size      |
3. =========================================================================================================================================================================================================================================================================================================================================================================================================================================================================
4. information_schema             | NULL                    |    NULL |                    14 |    NULL | NULL   | NULL       | NULL                           |        NULL |        NULL |        NULL |        NULL |        NULL | NULL | NULL      | ready      | NULL                           | NULL          | NULL        |        NULL |      NULL |             NULL |                 NULL |                  NULL |            NULL |                  NULL |
5. performance_schema             | NULL                    |    NULL |                     3 |    NULL | NULL   | NULL       | NULL                           |        NULL |        NULL |        NULL |        NULL |        NULL | NULL | NULL      | ready      | NULL                           | NULL          | NULL        |        NULL |      NULL |             NULL |                 NULL |                  NULL |            NULL |                  NULL |
6. test                           | 2022-08-04 16:46:40.506 |       2 |                     0 |       1 | off    | 14400m     | 5256000m,5256000m,5256000m     |          96 |           4 |         256 |
7. 100 |        4096 |    2 | ms        | ready      | NULL                           |         false | none        |           1 |         1 |             3000 |                    0 |                     0 |               0 |                     0 |
8. Query OK, 3 rows in database (0.123000s)

10. taos>

在 macOS shell 下直接执行 taos 连接到 TDengine 服务,进入到 TDengine CLI 界面,示例如下:

1. $ taos

3. taos> show databases;
4. name              |
5. =================================
6. information_schema             |
7. performance_schema             |
8. db                             |
9. Query OK, 3 rows in database (0.019154s)

11. taos>