连接器
TDengine 提供了丰富的应用程序开发接口,为了便于用户快速开发自己的应用,TDengine 支持了多种编程语言的连接器,其中官方连接器包括支持 C/C++、Java、Python、Go、Node.js、C# 和 Rust 的连接器。这些连接器支持使用原生接口(taosc)和 REST 接口(部分语言暂不支持)连接 TDengine 集群。社区开发者也贡献了多个非官方连接器,例如 ADO.NET 连接器、Lua 连接器和 PHP 连接器。
支持的平台
目前 TDengine 的原生接口连接器可支持的平台包括:X64/X86/ARM64/ARM32/MIPS/Alpha 等硬件平台,以及 Linux/Win64/Win32 等开发环境。对照矩阵如下:
CPU | OS | JDBC | Python | Go | Node.js | C# | Rust | C/C++ |
---|---|---|---|---|---|---|---|---|
X86 64bit | Linux | ● | ● | ● | ● | ● | ● | ● |
X86 64bit | Win64 | ● | ● | ● | ● | ● | ● | ● |
X86 64bit | Win32 | ● | ● | ● | ● | ○ | ○ | ● |
X86 32bit | Win32 | ○ | ○ | ○ | ○ | ○ | ○ | ● |
ARM64 | Linux | ● | ● | ● | ● | ○ | ○ | ● |
ARM32 | Linux | ● | ● | ● | ● | ○ | ○ | ● |
MIPS 龙芯 | Linux | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Alpha 申威 | Linux | ○ | ○ | — | — | — | — | ○ |
X86 海光 | Linux | ○ | ○ | ○ | — | — | — | ○ |
其中 ● 表示官方测试验证通过,○ 表示非官方测试验证通过,— 表示未经验证。
使用 REST 连接由于不依赖客户端驱动可以支持更广泛的操作系统。
版本支持
TDengine 版本更新往往会增加新的功能特性,列表中的连接器版本为连接器最佳适配版本。
TDengine 版本 | Java | Python | Go | C# | Node.js | Rust |
---|---|---|---|---|---|---|
2.4.0.14 及以上 | 2.0.38 | 当前版本 | develop 分支 | 1.0.2 - 1.0.6 | 2.0.10 - 2.0.12 | 当前版本 |
2.4.0.6 及以上 | 2.0.37 | 当前版本 | develop 分支 | 1.0.2 - 1.0.6 | 2.0.10 - 2.0.12 | 当前版本 |
2.4.0.4 - 2.4.0.5 | 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 |
---|---|---|---|---|---|---|
连接管理 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
普通查询 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
连续查询 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
参数绑定 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
订阅功能 | 支持 | 支持 | 支持 | 支持 | 支持 | 暂不支持 |
Schemaless | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
DataFrame | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
info
由于不同编程语言数据库框架规范不同,并不意味着所有 C/C++ 接口都需要对应封装支持。
使用 REST 接口
功能特性 | Java | Python | Go | C#(暂不支持) | Node.js | Rust |
---|---|---|---|---|---|---|
连接管理 | 支持 | 支持 | 支持 | N/A | 支持 | 支持 |
普通查询 | 支持 | 支持 | 支持 | N/A | 支持 | 支持 |
连续查询 | 支持 | 支持 | 支持 | N/A | 支持 | 支持 |
参数绑定 | 不支持 | 不支持 | 不支持 | N/A | 不支持 | 不支持 |
订阅功能 | 不支持 | 不支持 | 不支持 | N/A | 不支持 | 不支持 |
Schemaless | 暂不支持 | 暂不支持 | 暂不支持 | N/A | 暂不支持 | 暂不支持 |
批量拉取(基于 WebSocket) | 支持 | 暂不支持 | 暂不支持 | N/A | 暂不支持 | 暂不支持 |
DataFrame | 不支持 | 支持 | 不支持 | N/A | 不支持 | 不支持 |
warning
- 无论选用何种编程语言的连接器,2.0 及以上版本的 TDengine 推荐数据库应用的每个线程都建立一个独立的连接,或基于线程建立连接池,以避免连接内的“USE statement”状态量在线程之间相互干扰(但连接的查询和写入操作都是线程安全的)。
安装客户端驱动
info
只有在没有安装 TDengine 服务端软件的系统上使用原生接口连接器才需要安装客户端驱动。
安装步骤
- Linux
- Windows
下载客户端安装包
输入您的电子邮箱以接收下载链接
同意涛思数据通过此邮件地址联系我下载
关闭
解压缩软件包
将软件包放置在当前用户可读写的任意目录下,然后执行下面的命令:
tar -xzvf TDengine-client-VERSION.tar.gz
其中 VERSION 需要替换为实际版本的字符串。执行安装脚本
解压软件包之后,会在解压目录下看到以下文件(目录):
- 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
tip
- 如本机没有部署 TDengine 服务,仅安装了应用驱动,则
taos.cfg
中仅需配置firstEP
,无需在本机配置FQDN
。 为防止与服务器端连接时出现“Unable to resolve FQDN”错误,建议确认本机的
/etc/hosts
文件已经配置了服务器正确的 FQDN 值,或配置好了 DNS 服务。下载客户端安装包
输入您的电子邮箱以接收下载链接
同意涛思数据通过此邮件地址联系我下载
关闭
执行安装程序,按提示选择默认值,完成安装
安装路径
默认安装路径为:C:\TDengine,其中包括以下文件(目录):
- taos.exe:TDengine CLI 命令行程序
- 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
。
tip
- 如利用 FQDN 连接服务器,必须确认本机网络环境 DNS 已配置好,或在 hosts 文件中添加 FQDN 寻址记录, 如编辑 C:\Windows\system32\drivers\etc\hosts,添加类似如下的记录:
192.168.1.99 h1.taos.com
- 卸载:运行 unins000.exe 可卸载 TDengine 应用驱动。
安装验证
以上安装和配置完成后,并确认 TDengine 服务已经正常启动运行,此时可以执行 TDengine CLI 工具进行登录。
- Linux
- Windows
在 Linux shell 下直接执行 taos
连接到 TDengine 服务,进入到 TDengine CLI 界面,示例如下:
$ taos
Welcome to the TDengine shell from Linux, Client Version:2.0.5.0
Copyright (c) 2017 by TAOS Data, Inc. All rights reserved.
taos> show databases;
name | created_time | ntables | vgroups | replica | quorum | days | keep1,keep2,keep(D) | cache(MB)| blocks | minrows | maxrows | wallevel | fsync | comp | precision | status |
=========================================================================================================================================================================================================================
test | 2020-10-14 10:35:48.617 | 10 | 1 | 1 | 1 | 2 | 3650,3650,3650 | 16| 6 | 100 | 4096 | 1 | 3000 | 2 | ms | ready |
log | 2020-10-12 09:08:21.651 | 4 | 1 | 1 | 1 | 10 | 30,30,30 | 1| 3 | 100 | 4096 | 1 | 3000 | 2 | us | ready |
Query OK, 2 row(s) in set (0.001198s)
taos>
在 cmd 下进入到 C:\TDengine 目录下直接执行 taos.exe
,连接到 TDengine 服务,进入到 TDengine CLI 界面,示例如下:
C:\TDengine>taos
Welcome to the TDengine shell from Linux, Client Version:2.0.5.0
Copyright (c) 2017 by TAOS Data, Inc. All rights reserved.
taos> show databases;
name | created_time | ntables | vgroups | replica | quorum | days | keep1,keep2,keep(D) | cache(MB) | blocks | minrows | maxrows | wallevel | fsync | comp | precision | status |
===================================================================================================================================================================================================================================================================
test | 2020-10-14 10:35:48.617 | 10 | 1 | 1 | 1 | 2 | 3650,3650,3650 | 16 | 6 | 100 | 4096 | 1 | 3000 | 2 | ms | ready |
log | 2020-10-12 09:08:21.651 | 4 | 1 | 1 | 1 | 10 | 30,30,30 | 1 | 3 | 100 | 4096 | 1 | 3000 | 2 | us | ready |
Query OK, 2 row(s) in set (0.045000s)
taos>