连接器

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 等开发环境。对照矩阵如下:

CPUOSJavaPythonGoNode.jsC#RustC/C++
X86 64bitLinux
X86 64bitWin64
ARM64Linux

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

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

版本支持

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

TDengine 版本JavaPythonGoC#Node.jsRust
3.0.0.0 及以上3.0.2以上当前版本3.0 分支3.0.03.0.0当前版本
2.4.0.14 及以上2.0.38当前版本develop 分支1.0.2 - 1.0.62.0.10 - 2.0.12当前版本
2.4.0.4 - 2.4.0.132.0.37当前版本develop 分支1.0.2 - 1.0.62.0.10 - 2.0.12当前版本
2.2.x.x2.0.36当前版本master 分支n/a2.0.7 - 2.0.9当前版本
2.0.x.x2.0.34当前版本master 分支n/a2.0.1 - 2.0.6当前版本

功能特性

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

使用原生接口(taosc)

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

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

使用 http (REST 或 WebSocket) 接口

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

安装客户端驱动

连接器 - 图4info

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

安装步骤

  • Linux
  • Windows
  • MacOS
  1. 下载客户端安装包

    下载 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 进行安装。
  4. 配置 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: 卸载程序
  6. 配置 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
  2. taos> show databases;
  3. name |
  4. =================================
  5. information_schema |
  6. performance_schema |
  7. db |
  8. Query OK, 3 rows in database (0.019154s)
  9. 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)
  9. taos>

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

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