03-connector.mdx 6.4 KB
Newer Older
1 2 3 4
---
title: 连接器
---

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

![image-connector](/img/connector.png)

## 支持的系统

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

13 14 15 16 17 18 19 20 21 22 23
| **CPU**        | **OS**    | **JDBC** | **Python** | **Go** | **Node.js** | **C#** | **Rust** |
| -------------- | --------- | -------- | ---------- | ------ | ----------- | ------ | -------- |
| **X86 64bit**  | **Linux** | ●        | ●          | ●      | ●           | ●      | ●        |
| **X86 64bit**  | **Win64** | ●        | ●          | ●      | ●           | ●      | ●        |
| **X86 64bit**  | **Win32** | ●        | ●          | ●      | ●           | ○      | ○        |
| **X86 32bit**  | **Win32** | ○        | ○          | ○      | ○           | ○      | ○        |
| **ARM64**      | **Linux** | ●        | ●          | ●      | ●           | ○      | ○        |
| **ARM32**      | **Linux** | ●        | ●          | ●      | ●           | ○      | ○        |
| **MIPS 龙芯**  | **Linux** | ○        | ○          | ○      | ○           | ○      | ○        |
| **Alpha 申威** | **Linux** | ○        | ○          | --     | --          | --     | --       |
| **X86 海光**   | **Linux** | ○        | ○          | ○      | --          | --     | --       |
24 25 26

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

sangshuduo's avatar
sangshuduo 已提交
27
使用 REST 连接由于不依赖客户端驱动可以支持更广泛的操作系统。
28

sangshuduo's avatar
sangshuduo 已提交
29
## 版本支持
30

sangshuduo's avatar
sangshuduo 已提交
31 32 33 34 35 36 37 38 39 40 41
| **TDengine 版本**      | **Java** | **Python** | **Go** | **C#** | **Node.js** | **Rust** |
| ---------------------- | -------- | ---------- | ------ | ------ | ----------- | -------- |
| **2.4.0.14 及以上**    | 2.0.38   |            |        |        |             |          |
| **2.4.0.6 及以上**     | 2.0.37   |            |        |        |             |          |
| **2.4.0.4 - 2.4.0.5**  | 2.0.37   |            |        |        |             |          |
| **2.2.x.x          **  | 2.0.36   |            |        |        |             |          |
| **2.0.x.x          **  | 2.0.34   |            |        |        |             |          |

## 功能特性

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

43
### 使用原生接口(taosc)
44

45
| **功能特性**       | **Java**  | **Python** | **Go**   | **C#**   | **Node.js** | **Rust** |
46 47
| ------------------ | --------- | ---------- | -------- | -------- | ----------- | -------- |
| **连接管理**       | 支持      | 支持       | 支持     | 支持     | 支持        | 支持     |
sangshuduo's avatar
sangshuduo 已提交
48 49
| **普通查询**       | 支持      | 支持       | 支持     | 支持     | 支持        | 支持     |
| **连续查询**       | 支持      | 支持       | 支持     | 支持     | 支持        | 支持     |
50 51 52
| **参数绑定**       | 支持      | 支持       | 支持     | 支持     | 支持        | 支持     |
| **订阅功能**       | 支持      | 支持       | 支持     | 支持     | 支持        | 暂不支持 |
| **Schemaless**     | 支持      | 支持       | 支持     | 支持     | 支持        | 支持     |
53

54
### 使用 REST 接口
55

sangshuduo's avatar
sangshuduo 已提交
56 57 58
| **功能特性**                  | **Java**  | **Python(暂不支持)** | **Go**   | **C#(暂不支持)**   | **Node.js** | **Rust** |
| ----------------------------- | --------- | ---------------------- | -------- | -------------------- | ----------- | -------- |
| **连接管理**                  | 支持      | n/a                    | 支持     | n/a                  | 支持        | 支持     |
sangshuduo's avatar
sangshuduo 已提交
59 60
| **普通查询**                  | 支持      | n/a                    | 支持     | n/a                  | 支持        | 支持     |
| **连续查询**                  | 支持      | n/a                    | 支持     | n/a                  | 支持        | 支持     |
sangshuduo's avatar
sangshuduo 已提交
61 62
| **参数绑定**                  | 不支持    | n/a                    | 不支持   | n/a                  | 不支持      | 不支持   |
| **订阅功能**                  | 不支持    | n/a                    | 不支持   | n/a                  | 不支持      | 不支持   |
sangshuduo's avatar
sangshuduo 已提交
63
| **Schemaless**                | 暂不支持  | n/a                    | 暂不支持 | n/a                  | 暂不支持    | 暂不支持 |
sangshuduo's avatar
sangshuduo 已提交
64
| **批量拉取(基于WebSocket)** | 支持      | n/a                    | 暂不支持 | n/a                  | 暂不支持    | 暂不支持 |
65 66 67

备注:

68
[1]: 由于不同语言数据库框架规范不同,并不意味着所有 C/C++ 接口都需要对应封装支持。
69 70 71 72 73 74 75 76 77 78 79

:::warning

- 无论选用何种编程语言的连接器,2.0 及以上版本的 TDengine 推荐数据库应用的每个线程都建立一个独立的连接,或基于线程建立连接池,以避免连接内的“USE statement”状态量在线程之间相互干扰(但连接的查询和写入操作都是线程安全的)。

:::

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import InstallOnWindows from "./_linux_install.mdx";
import InstallOnLinux from "./_windows_install.mdx";
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
80 81
import VerifyWindows from "./_verify_windows.mdx";
import VerifyLinux from "./_verify_linux.mdx";
82 83 84 85

## 安装客户端驱动

:::info
86
只有在没有安装 TDengine 服务端软件的系统上使用原生接口连接器才需要安装客户端驱动。
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

:::

### 安装步骤

<Tabs defaultValue="linux" groupId="os">
  <TabItem value="linux" label="Linux">
    <InstallOnWindows />
  </TabItem>
  <TabItem value="windows" label="Windows">
    <InstallOnLinux />
  </TabItem>
</Tabs>

### 安装验证

103
以上安装和配置完成后,并确认 TDengine 服务已经正常启动运行,此时可以执行 TDengine CLI 工具进行登录。
104 105 106 107 108 109 110 111 112 113

<Tabs defaultValue="linux" groupId="os">
  <TabItem value="linux" label="Linux">
    <VerifyLinux />
  </TabItem>
  <TabItem value="windows" label="Windows">
    <VerifyWindows />
  </TabItem>
</Tabs>