未验证 提交 07a78a7c 编写于 作者: 陶建辉(Jeff)'s avatar 陶建辉(Jeff) 提交者: GitHub

Merge pull request #11579 from taosdata/docs/jtao1735-doc2

Docs/jtao1735 doc2
......@@ -23,13 +23,13 @@ TDengine 提供RESTful接口,容许在任何平台的任何应用程序通过
## 连接器建立连接的方式
连接器建立连接的方式,TDengine提供两种:
1. 通过 taosAdapter 组件提供的 RESTful API 建立与 taosd 的连接,这种连接方式下文中简称"
1. 通过 taosAdapter 组件提供的 RESTful API 建立与 taosd 的连接,这种连接方式下文中简称"RESTful 连接“
2. 通过客户端驱动程序 taosc 直接与服务端程序 taosd 建立连接,这种连接方式下文中简称“本地连接”。
无论使用何种方式建立连接,连接器都提供了相同或相似的 API 操作数据库,都可以执行 SQL 语句,只是初始化连接的方式稍有不同,用户在使用上不会感到什么差别。
关键不同点在于:
1. 使用 RESTful 方式,用户无需安装客户端驱动程序 taosc,具有跨平台易用的优势,但性能要下降30%左右。
1. 使用 RESTful 连接,用户无需安装客户端驱动程序 taosc,具有跨平台易用的优势,但性能要下降30%左右。
2. 使用本地连接可以体验 TDengine 的全部功能,如[原生接口写入](/reference/connector/cpp#参数绑定-api)、[订阅](reference/connector/cpp#数据订阅接口)等等。
......
......@@ -101,6 +101,8 @@ INSERT INTO d1001 VALUES (1538548685000, 10.3, 219, 0.31) (1538548695000, 12.6,
TDengine 也提供了支持参数绑定的 Prepare API,与 MySQL 一样,这些 API 目前也仅支持用问号 `?` 来代表待绑定的参数。文档中有时也会把此功能称为“原生接口写入”。从 2.1.1.0 和 2.1.2.0 版本开始,TDengine 大幅改进了参数绑定接口对数据写入(INSERT)场景的支持。这样在通过参数绑定接口写入数据时,就避免了 SQL 语法解析的资源消耗,从而在绝大多数情况下显著提升写入性能。
需要注意的是,只有使用本地连接的连接器,才能使用动态绑定功能。
<Tabs defaultValue="java" groupId="lang">
<TabItem label="Java" value="java">
<JavaStmt />
......@@ -125,8 +127,3 @@ TDengine 也提供了支持参数绑定的 Prepare API,与 MySQL 一样,这
</TabItem>
</Tabs>
:::note
只有使用本地驱动方式建立连接,才能使用动态绑定功能。
:::
......@@ -19,7 +19,7 @@ import CAsync from "./_c_async.mdx";
## 主要查询功能
TDengine 采用 SQL 作为查询语言。应用程序可以通过连接器发送 SQL 语句,用户可以通过命令行(Command Line Interface, CLI)工具 TAOS Shell 手动执行 SQL 即席查询(Ad-Hoc Query)。TDengine 支持如下查询功能:
TDengine 采用 SQL 作为查询语言。应用程序可以通过RESTful接口或连接器发送 SQL 语句,用户还可以通过 TDengine 命令行工具 taos 手动执行 SQL 即席查询(Ad-Hoc Query)。TDengine 支持如下查询功能:
- 单列、多列数据查询
- 标签和数值的多种过滤条件:>, <, =, <\>, like 等
......@@ -28,7 +28,7 @@ TDengine 采用 SQL 作为查询语言。应用程序可以通过连接器发送
- 时间戳对齐的连接查询(Join Query: 隐式连接)操作
- 多种聚合/计算函数: count, max, min, avg, sum, twa, stddev, leastsquares, top, bottom, first, last, percentile, apercentile, last_row, spread, diff 等
例如:在 TAOS Shell 中,从表 d1001 中查询出 voltage > 215 的记录,按时间降序排列,仅仅输出 2 条。
例如:在命令行工具 taos 中,从表 d1001 中查询出 voltage > 215 的记录,按时间降序排列,仅仅输出 2 条。
```sql
taos> select * from d1001 where voltage > 215 order by ts desc limit 2;
......@@ -114,7 +114,9 @@ taos> SELECT SUM(current) FROM meters INTERVAL(1s, 500a);
Query OK, 5 row(s) in set (0.001521s)
```
物联网场景里,每个数据采集点采集数据的时间是难同步的,但很多分析算法(比如 FFT)需要把采集的数据严格按照时间等间隔的对齐,在很多系统里,需要应用自己写程序来处理,但使用 TDengine 的降采样操作就轻松解决。如果一个时间间隔里,没有采集的数据,TDengine 还提供插值计算的功能。
物联网场景里,每个数据采集点采集数据的时间是难同步的,但很多分析算法(比如 FFT)需要把采集的数据严格按照时间等间隔的对齐,在很多系统里,需要应用自己写程序来处理,但使用 TDengine 的降采样操作就轻松解决。
如果一个时间间隔里,没有采集的数据,TDengine 还提供插值计算的功能。
语法规则细节请见 [TAOS SQL 的按时间窗口切分聚合](/reference/taos-sql/interval) 章节。
......@@ -150,7 +152,7 @@ Query OK, 5 row(s) in set (0.001521s)
:::note
1. 无论 RESTful 方式建立连接还是本地驱动方式建立连接,以上示例代码都能正常工作。
1. 无论是使用 RESTful 连接还是本地连接的连接器,以上示例代码都能正常工作。
2. 唯一需要注意的是:由于 RESTful 接口无状态, 不能使用 `use db` 语句来切换数据库。
:::
......@@ -159,6 +161,8 @@ Query OK, 5 row(s) in set (0.001521s)
除同步查询 API 之外,TDengine 还提供性能更高的异步调用 API 处理数据插入、查询操作。在软硬件环境相同的情况下,异步 API 处理数据插入的速度比同步 API 快 2-4 倍。异步 API 采用非阻塞式的调用方式,在系统真正完成某个具体数据库操作前,立即返回。调用的线程可以去处理其他工作,从而可以提升整个应用的性能。异步 API 在网络延迟严重的情况下,优点尤为突出。
需要注意的是,只有使用本地连接的连接器,才能使用异步查询功能。
<Tabs defaultValue="python" groupId="lang">
<TabItem label="Python" value="python">
<PyAsync />
......@@ -173,9 +177,3 @@ Query OK, 5 row(s) in set (0.001521s)
<CAsync />
</TabItem> */}
</Tabs>
:::note
只有使用本地驱动方式连接连接,才能使用异步查询功能。
:::
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册