提交 f836e2c3 编写于 作者: D dingbo

upgrade docusaurus to 2.0.0-beta.18

上级 cc4b0737
--- ---
sidebar_label: 产品简介 sidebar_label: 产品简介
title: 产品简介
toc_max_heading_level: 2 toc_max_heading_level: 2
--- ---
# 产品简介
## TDengine 简介 ## TDengine 简介
TDengine 是一款高性能、分布式、支持 SQL 的时序数据库。而且除时序数据库功能外,它还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的复杂度,且核心代码,包括集群功能全部开源(开源协议,AGPL v3.0)。与其他时序数据数据库相比,TDengine 有以下特点: TDengine 是一款高性能、分布式、支持 SQL 的时序数据库。而且除时序数据库功能外,它还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的复杂度,且核心代码,包括集群功能全部开源(开源协议,AGPL v3.0)。与其他时序数据数据库相比,TDengine 有以下特点:
......
# 基本概念 ---
title: 基本概念
---
## 物联网典型场景 ## 物联网典型场景
......
# 立即开始 ---
title: 立即开始
---
## 从 Docker 快速开始 ## 从 Docker 快速开始
......
...@@ -5,7 +5,7 @@ npm install td2.0-connector ...@@ -5,7 +5,7 @@ npm install td2.0-connector
``` ```
:::note :::note
推荐使用 `node-v12.8.0` 或 `node-v12.20.0` 推荐Node版本大于等于 `node-v12.8.0` 小于 `node-v13.0.0`
::: :::
......
# 建立连接 ---
title: 建立连接
---
import Tabs from "@theme/Tabs"; import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem"; import TabItem from "@theme/TabItem";
......
--- ---
slug: /model slug: /model
title: TDengine 数据建模
--- ---
# TDengine 数据建模
TDengine 采用关系型数据模型,需要建库、建表。因此对于一个具体的应用场景,需要考虑库、超级表和普通表的设计。本节不讨论细致的语法规则,只介绍概念。 TDengine 采用关系型数据模型,需要建库、建表。因此对于一个具体的应用场景,需要考虑库、超级表和普通表的设计。本节不讨论细致的语法规则,只介绍概念。
关于数据建模请参考[视频教程](https://www.taosdata.com/blog/2020/11/11/1945.html)。 关于数据建模请参考[视频教程](https://www.taosdata.com/blog/2020/11/11/1945.html)。
......
# SQL 写入 ---
title: SQL 写入
---
import Tabs from "@theme/Tabs"; import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem"; import TabItem from "@theme/TabItem";
......
--- ---
sidebar_label: InfluxDB Line 协议 sidebar_label: InfluxDB Line 协议
title: InfluxDB Line 协议
--- ---
# InfluxDB Line 协议
import Tabs from "@theme/Tabs"; import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem"; import TabItem from "@theme/TabItem";
import JavaLine from "./_java_line.mdx"; import JavaLine from "./_java_line.mdx";
......
--- ---
sidebar_label: OpentsDB Telnet 协议 sidebar_label: OpentsDB Telnet 协议
title: OpentsDB Telnet 协议
--- ---
# OpentsDB Telnet 协议
import Tabs from "@theme/Tabs"; import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem"; import TabItem from "@theme/TabItem";
import JavaTelnet from "./_java_opts_telnet.mdx"; import JavaTelnet from "./_java_opts_telnet.mdx";
......
--- ---
sidebar_label: OpentsDB JSON 格式协议 sidebar_label: OpentsDB JSON 格式协议
title: OpentsDB JSON 格式协议
--- ---
# OpentsDB JSON 格式协议
import Tabs from "@theme/Tabs"; import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem"; import TabItem from "@theme/TabItem";
import JavaJson from "./_java_opts_json.mdx"; import JavaJson from "./_java_opts_json.mdx";
......
--- ---
slug: /query-data slug: /query-data
title: 查询数据
--- ---
# 查询数据
import Tabs from "@theme/Tabs"; import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem"; import TabItem from "@theme/TabItem";
import JavaQuery from "./_java.mdx"; import JavaQuery from "./_java.mdx";
......
--- ---
sidebar_label: 缓存 sidebar_label: 缓存
title: 缓存
--- ---
# 缓存(Cache)
TDengine 采用时间驱动缓存管理策略(First-In-First-Out,FIFO),又称为写驱动的缓存管理机制。这种策略有别于读驱动的数据缓存模式(Least-Recent-Used,LRU),直接将最近写入的数据保存在系统的缓存中。当缓存达到临界值的时候,将最早的数据批量写入磁盘。一般意义上来说,对于物联网数据的使用,用户最为关心最近产生的数据,即当前状态。TDengine 充分利用了这一特性,将最近到达的(当前状态)数据保存在缓存中。 TDengine 采用时间驱动缓存管理策略(First-In-First-Out,FIFO),又称为写驱动的缓存管理机制。这种策略有别于读驱动的数据缓存模式(Least-Recent-Used,LRU),直接将最近写入的数据保存在系统的缓存中。当缓存达到临界值的时候,将最早的数据批量写入磁盘。一般意义上来说,对于物联网数据的使用,用户最为关心最近产生的数据,即当前状态。TDengine 充分利用了这一特性,将最近到达的(当前状态)数据保存在缓存中。
TDengine 通过查询函数向用户提供毫秒级的数据获取能力。直接将最近到达的数据保存在缓存中,可以更加快速地响应用户针对最近一条或一批数据的查询分析,整体上提供更快的数据库查询响应能力。从这个意义上来说,可通过设置合适的配置参数将 TDengine 作为数据缓存来使用,而不需要再部署额外的缓存系统,可有效地简化系统架构,降低运维的成本。需要注意的是,TDengine 重启以后系统的缓存将被清空,之前缓存的数据均会被批量写入磁盘,缓存的数据将不会像专门的 key-value 缓存系统再将之前缓存的数据重新加载到缓存中。 TDengine 通过查询函数向用户提供毫秒级的数据获取能力。直接将最近到达的数据保存在缓存中,可以更加快速地响应用户针对最近一条或一批数据的查询分析,整体上提供更快的数据库查询响应能力。从这个意义上来说,可通过设置合适的配置参数将 TDengine 作为数据缓存来使用,而不需要再部署额外的缓存系统,可有效地简化系统架构,降低运维的成本。需要注意的是,TDengine 重启以后系统的缓存将被清空,之前缓存的数据均会被批量写入磁盘,缓存的数据将不会像专门的 key-value 缓存系统再将之前缓存的数据重新加载到缓存中。
......
--- ---
sidebar_label: UDF sidebar_label: UDF
title: UDF(用户定义函数)
--- ---
# UDF(用户定义函数)
在有些应用场景中,应用逻辑需要的查询无法直接使用系统内置的函数来表示。利用 UDF 功能,TDengine 可以插入用户编写的处理代码并在查询中使用它们,就能够很方便地解决特殊应用场景中的使用需求。 UDF 通常以数据表中的一列数据做为输入,同时支持以嵌套子查询的结果作为输入。 在有些应用场景中,应用逻辑需要的查询无法直接使用系统内置的函数来表示。利用 UDF 功能,TDengine 可以插入用户编写的处理代码并在查询中使用它们,就能够很方便地解决特殊应用场景中的使用需求。 UDF 通常以数据表中的一列数据做为输入,同时支持以嵌套子查询的结果作为输入。
从 2.2.0.0 版本开始,TDengine 支持通过 C/C++ 语言进行 UDF 定义。接下来结合示例讲解 UDF 的使用方法。 从 2.2.0.0 版本开始,TDengine 支持通过 C/C++ 语言进行 UDF 定义。接下来结合示例讲解 UDF 的使用方法。
......
# 高级功能 ---
title: 高级功能
---
本章介绍以下TDengine中的高级功能。 本章介绍以下TDengine中的高级功能。
......
--- ---
sidebar_label: Grafana sidebar_label: Grafana
title: Grafana
--- ---
# Grafana
TDengine 能够与开源数据可视化系统 [Grafana](https://www.grafana.com/) 快速集成搭建数据监测报警系统,整个过程无需任何代码开发,TDengine 中数据表中内容可以在仪表盘(DashBoard)上进行可视化展现。关于 TDengine 插件的使用您可以在[GitHub](https://github.com/taosdata/grafanaplugin/blob/master/README.md)中了解更多。 TDengine 能够与开源数据可视化系统 [Grafana](https://www.grafana.com/) 快速集成搭建数据监测报警系统,整个过程无需任何代码开发,TDengine 中数据表中内容可以在仪表盘(DashBoard)上进行可视化展现。关于 TDengine 插件的使用您可以在[GitHub](https://github.com/taosdata/grafanaplugin/blob/master/README.md)中了解更多。
## 安装 Grafana ## 安装 Grafana
......
--- ---
sidebar_label: Prometheus sidebar_label: Prometheus
title: Prometheus 写入
--- ---
# Prometheus 写入
remote_read 和 remote_write 是 Prometheus 数据读写分离的集群方案。 remote_read 和 remote_write 是 Prometheus 数据读写分离的集群方案。
只需要将 remote_read 和 remote_write url 指向 taosAdapter 对应的 url 同时设置 Basic 验证即可使用。 只需要将 remote_read 和 remote_write url 指向 taosAdapter 对应的 url 同时设置 Basic 验证即可使用。
......
--- ---
sidebar_label: Telegraf sidebar_label: Telegraf
title: Telegraf 写入
--- ---
# Telegraf 写入
安装 Telegraf 请参考[官方文档](https://portal.influxdata.com/downloads/) 安装 Telegraf 请参考[官方文档](https://portal.influxdata.com/downloads/)
TDengine 新版本(2.3.0.0+)包含一个 taosAdapter 独立程序,负责接收包括 Telegraf 的多种应用的数据写入。 TDengine 新版本(2.3.0.0+)包含一个 taosAdapter 独立程序,负责接收包括 Telegraf 的多种应用的数据写入。
......
--- ---
sidebar_label: collectd sidebar_label: collectd
title: collectd 写入
--- ---
# collectd 写入
安装 collectd,请参考[官方文档](https://collectd.org/download.shtml) 安装 collectd,请参考[官方文档](https://collectd.org/download.shtml)
TDengine 新版本(2.3.0.0+)包含一个 taosAdapter 独立程序,负责接收包括 collectd 的多种应用的数据写入。 TDengine 新版本(2.3.0.0+)包含一个 taosAdapter 独立程序,负责接收包括 collectd 的多种应用的数据写入。
......
--- ---
sidebar_label: StatsD sidebar_label: StatsD
title: StatsD 直接写入
--- ---
# StatsD 直接写入
安装 StatsD 安装 StatsD
请参考[官方文档](https://github.com/statsd/statsd) 请参考[官方文档](https://github.com/statsd/statsd)
......
--- ---
sidebar_label: icinga2 sidebar_label: icinga2
title: icinga2 写入
--- ---
# icinga2 写入
- 参考链接 `https://icinga.com/docs/icinga-2/latest/doc/14-features/#opentsdb-writer` 使能 opentsdb-writer - 参考链接 `https://icinga.com/docs/icinga-2/latest/doc/14-features/#opentsdb-writer` 使能 opentsdb-writer
- 使能 taosAdapter 配置项 opentsdb_telnet.enable - 使能 taosAdapter 配置项 opentsdb_telnet.enable
- 修改配置文件 /etc/icinga2/features-enabled/opentsdb.conf - 修改配置文件 /etc/icinga2/features-enabled/opentsdb.conf
......
--- ---
sidebar_label: TCollector sidebar_label: TCollector
title: TCollector 写入
--- ---
# TCollector 写入
TCollector 是一个在客户侧收集本地收集器并发送数据到 OpenTSDB 的进程,taosAdaapter 可以支持接收 TCollector 的数据并写入到 TDengine 中。 TCollector 是一个在客户侧收集本地收集器并发送数据到 OpenTSDB 的进程,taosAdaapter 可以支持接收 TCollector 的数据并写入到 TDengine 中。
使能 taosAdapter 配置项 opentsdb_telnet.enable 使能 taosAdapter 配置项 opentsdb_telnet.enable
......
--- ---
sidebar_label: EMQ Broker sidebar_label: EMQ Broker
title: EMQ Broker 写入
--- ---
# EMQ Broker 写入
MQTT 是流行的物联网数据传输协议,[EMQ](https://github.com/emqx/emqx)是一开源的 MQTT Broker 软件,无需任何代码,只需要在 EMQ Dashboard 里使用“规则”做简单配置,即可将 MQTT 的数据直接写入 TDengine。EMQ X 支持通过 发送到 Web 服务的方式保存数据到 TDEngine,也在企业版上提供原生的 TDEngine 驱动实现直接保存。详细使用方法请参考 [EMQ 官方文档](https://docs.emqx.io/broker/latest/cn/rule/rule-example.html#%E4%BF%9D%E5%AD%98%E6%95%B0%E6%8D%AE%E5%88%B0-tdengine) MQTT 是流行的物联网数据传输协议,[EMQ](https://github.com/emqx/emqx)是一开源的 MQTT Broker 软件,无需任何代码,只需要在 EMQ Dashboard 里使用“规则”做简单配置,即可将 MQTT 的数据直接写入 TDengine。EMQ X 支持通过 发送到 Web 服务的方式保存数据到 TDEngine,也在企业版上提供原生的 TDEngine 驱动实现直接保存。详细使用方法请参考 [EMQ 官方文档](https://docs.emqx.io/broker/latest/cn/rule/rule-example.html#%E4%BF%9D%E5%AD%98%E6%95%B0%E6%8D%AE%E5%88%B0-tdengine)
--- ---
sidebar_label: HiveMQ Broker sidebar_label: HiveMQ Broker
title: HiveMQ Broker 写入
--- ---
# HiveMQ Broker 写入
[HiveMQ](https://www.hivemq.com/) 是一个提供免费个人版和企业版的 MQTT 代理,主要用于企业和新兴的机器到机器 M2M 通讯和内部传输,满足可伸缩性、易管理和安全特性。HiveMQ 提供了开源的插件开发包。可以通过 HiveMQ extension - TDengine 保存数据到 TDengine。详细使用方法请参考 [HiveMQ extension - TDengine 说明文档](https://github.com/huskar-t/hivemq-tdengine-extension/blob/b62a26ecc164a310104df57691691b237e091c89/README.md) [HiveMQ](https://www.hivemq.com/) 是一个提供免费个人版和企业版的 MQTT 代理,主要用于企业和新兴的机器到机器 M2M 通讯和内部传输,满足可伸缩性、易管理和安全特性。HiveMQ 提供了开源的插件开发包。可以通过 HiveMQ extension - TDengine 保存数据到 TDengine。详细使用方法请参考 [HiveMQ extension - TDengine 说明文档](https://github.com/huskar-t/hivemq-tdengine-extension/blob/b62a26ecc164a310104df57691691b237e091c89/README.md)
# 集群部署 ---
title: 集群部署
---
## 准备工作 ## 准备工作
......
# 集群管理 ---
title: 集群管理
---
## 数据节点管理 ## 数据节点管理
......
# 高可用与负载均衡 ---
title: 高可用与负载均衡
---
## vnode 的高可用性 ## vnode 的高可用性
......
# 安装、卸载、启动和停止 ---
title: 安装、卸载、启动和停止
---
TDengine 开源版本提供 deb 和 rpm 格式安装包,用户可以根据自己的运行环境选择合适的安装包。其中 deb 支持 Debian/Ubuntu 等系统,rpm 支持 CentOS/RHEL/SUSE 等系统。同时我们也为企业用户提供 tar.gz 格式安装包。 TDengine 开源版本提供 deb 和 rpm 格式安装包,用户可以根据自己的运行环境选择合适的安装包。其中 deb 支持 Debian/Ubuntu 等系统,rpm 支持 CentOS/RHEL/SUSE 等系统。同时我们也为企业用户提供 tar.gz 格式安装包。
......
--- ---
sidebar_label: 容量规划 sidebar_label: 容量规划
title: 容量规划
--- ---
# 容量规划
使用 TDengine 来搭建一个物联网大数据平台,计算资源、存储资源需要根据业务场景进行规划。下面分别讨论系统运行所需要的内存、CPU 以及硬盘空间。 使用 TDengine 来搭建一个物联网大数据平台,计算资源、存储资源需要根据业务场景进行规划。下面分别讨论系统运行所需要的内存、CPU 以及硬盘空间。
## 内存需求 ## 内存需求
......
# 容错和灾备 ---
title: 容错和灾备
---
## 容错 ## 容错
......
# 用户管理 ---
title: 用户管理
---
系统管理员可以在 CLI 界面里添加、删除用户,也可以修改密码。CLI 里 SQL 语法如下: 系统管理员可以在 CLI 界面里添加、删除用户,也可以修改密码。CLI 里 SQL 语法如下:
......
# 数据导入 ---
title: 数据导入
---
TDengine 提供多种方便的数据导入功能,一种按脚本文件导入,一种按数据文件导入,一种是 taosdump 工具导入本身导出的文件。 TDengine 提供多种方便的数据导入功能,一种按脚本文件导入,一种按数据文件导入,一种是 taosdump 工具导入本身导出的文件。
......
# 数据导出 ---
title: 数据导出
---
为方便数据导出,TDengine 提供了两种导出方式,分别是按表导出和用 taosdump 导出。 为方便数据导出,TDengine 提供了两种导出方式,分别是按表导出和用 taosdump 导出。
......
# 系统连接、任务查询管理 ---
title: 系统连接、任务查询管理
---
系统管理员可以从 CLI 查询系统的连接、正在进行的查询、流式计算,并且可以关闭连接、停止正在进行的查询和流式计算。CLI 里 SQL 语法如下: 系统管理员可以从 CLI 查询系统的连接、正在进行的查询、流式计算,并且可以关闭连接、停止正在进行的查询和流式计算。CLI 里 SQL 语法如下:
......
# 系统监控 ---
title: 系统监控
---
TDengine 启动后,会自动创建一个监测数据库 log,并自动将服务器的 CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度、慢查询等信息定时写入该数据库。TDengine 还将重要的系统操作(比如登录、创建、删除数据库等)日志以及各种错误报警信息记录下来存放在 log 库里。系统管理员可以从 CLI 直接查看这个数据库,也可以在 WEB 通过图形化界面查看这些监测信息。 TDengine 启动后,会自动创建一个监测数据库 log,并自动将服务器的 CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度、慢查询等信息定时写入该数据库。TDengine 还将重要的系统操作(比如登录、创建、删除数据库等)日志以及各种错误报警信息记录下来存放在 log 库里。系统管理员可以从 CLI 直接查看这个数据库,也可以在 WEB 通过图形化界面查看这些监测信息。
......
# 性能优化 ---
title: 性能优化
---
因数据行 [update](https://www.taosdata.com/cn/documentation/faq#update)、表删除、数据过期等原因,TDengine 的磁盘存储文件有可能出现数据碎片,影响查询操作的性能表现。从 2.1.3.0 版本开始,新增 SQL 指令 COMPACT 来启动碎片重整过程: 因数据行 [update](https://www.taosdata.com/cn/documentation/faq#update)、表删除、数据过期等原因,TDengine 的磁盘存储文件有可能出现数据碎片,影响查询操作的性能表现。从 2.1.3.0 版本开始,新增 SQL 指令 COMPACT 来启动碎片重整过程:
......
# 诊断及其他 ---
title: 诊断及其他
---
## 网络连接诊断 ## 网络连接诊断
......
--- ---
sidebar_label: 数据模型和整体架构 sidebar_label: 数据模型和整体架构
title: 数据模型和整体架构
--- ---
# 数据模型和整体架构
## 数据模型 ## 数据模型
### 物联网典型场景 ### 物联网典型场景
......
--- ---
sidebar_label: 数据复制模块设计 sidebar_label: 数据复制模块设计
title: 数据复制模块设计
--- ---
# 数据复制模块设计
## 数据复制概述 ## 数据复制概述
数据复制(Replication)是指同一份数据在多个物理地点保存。它的目的是防止数据丢失,提高系统的高可用性(High Availability),而且通过应用访问多个副本,提升数据查询性能。 数据复制(Replication)是指同一份数据在多个物理地点保存。它的目的是防止数据丢失,提高系统的高可用性(High Availability),而且通过应用访问多个副本,提升数据查询性能。
......
--- ---
sidebar_label: taosd 的设计 sidebar_label: taosd 的设计
title: taosd的设计
--- ---
# taosd的设计
逻辑上,TDengine系统包含dnode, taosc和App,dnode是服务器侧执行代码taosd的一个运行实例,因此taosd是TDengine的核心,本文对taosd的设计做一简单的介绍,模块内的实现细节请见其他文档。 逻辑上,TDengine系统包含dnode, taosc和App,dnode是服务器侧执行代码taosd的一个运行实例,因此taosd是TDengine的核心,本文对taosd的设计做一简单的介绍,模块内的实现细节请见其他文档。
......
# TSZ 压缩算法 ---
title: TSZ 压缩算法
---
TSZ 压缩算法是 TDengine 为浮点数据类型提供更加丰富的压缩功能,可以实现浮点数的有损至无损全状态压缩,相比原来在 TDengine 中原有压缩算法,TSZ 压缩算法压缩选项更丰富,压缩率更高,即使切到无损状态下对浮点数压缩,压缩率也会比原来的压缩算法高一倍。 TSZ 压缩算法是 TDengine 为浮点数据类型提供更加丰富的压缩功能,可以实现浮点数的有损至无损全状态压缩,相比原来在 TDengine 中原有压缩算法,TSZ 压缩算法压缩选项更丰富,压缩率更高,即使切到无损状态下对浮点数压缩,压缩率也会比原来的压缩算法高一倍。
......
--- ---
sidebar_label: 支持的数据类型 sidebar_label: 支持的数据类型
title: 支持的数据类型
--- ---
# 支持的数据类型
使用 TDengine,最重要的是时间戳。创建并插入记录、查询历史记录的时候,均需要指定时间戳。时间戳有如下规则: 使用 TDengine,最重要的是时间戳。创建并插入记录、查询历史记录的时候,均需要指定时间戳。时间戳有如下规则:
- 时间格式为 `YYYY-MM-DD HH:mm:ss.MS`,默认时间分辨率为毫秒。比如:`2017-08-12 18:25:58.128` - 时间格式为 `YYYY-MM-DD HH:mm:ss.MS`,默认时间分辨率为毫秒。比如:`2017-08-12 18:25:58.128`
......
--- ---
sidebar_label: 数据库管理 sidebar_label: 数据库管理
title: 数据库管理
--- ---
# 数据库管理
## 创建数据库 ## 创建数据库
``` ```
......
# 表管理 ---
title: 表管理
---
## 创建数据表 ## 创建数据表
......
--- ---
sidebar_label: 超级表管理 sidebar_label: 超级表管理
title: 超级表 STable 管理
--- ---
# 超级表 STable 管理
注意:在 2.0.15.0 及以后的版本中,开始支持 STABLE 保留字。也即,在本节后文的指令说明中,CREATE、DROP、ALTER 三个指令在老版本中保留字需写作 TABLE 而不是 STABLE。 注意:在 2.0.15.0 及以后的版本中,开始支持 STABLE 保留字。也即,在本节后文的指令说明中,CREATE、DROP、ALTER 三个指令在老版本中保留字需写作 TABLE 而不是 STABLE。
......
--- ---
sidebar_label: 数据写入 sidebar_label: 数据写入
title: 数据写入
--- ---
# 数据写入
## 写入语法 ## 写入语法
``` ```
......
--- ---
sidebar_label: 数据查询 sidebar_label: 数据查询
title: 数据查询
--- ---
# 数据查询
## 查询语法 ## 查询语法
``` ```
......
--- ---
sidebar_label: SQL 函数 sidebar_label: SQL 函数
title: SQL 函数
--- ---
# SQL 函数
## 聚合函数 ## 聚合函数
TDengine 支持针对数据的聚合查询。提供支持的聚合和选择函数如下: TDengine 支持针对数据的聚合查询。提供支持的聚合和选择函数如下:
......
--- ---
sidebar_label: 按窗口切分聚合 sidebar_label: 按窗口切分聚合
title: 按窗口切分聚合
--- ---
# 按窗口切分聚合
TDengine 支持按时间段窗口切分方式进行聚合结果查询,比如温度传感器每秒采集一次数据,但需查询每隔 10 分钟的温度平均值。这种场景下可以使用窗口子句来获得需要的查询结果。 TDengine 支持按时间段窗口切分方式进行聚合结果查询,比如温度传感器每秒采集一次数据,但需查询每隔 10 分钟的温度平均值。这种场景下可以使用窗口子句来获得需要的查询结果。
窗口子句用于针对查询的数据集合进行按照窗口切分成为查询子集并进行聚合,窗口包含时间窗口(time window)、状态窗口(status window)、会话窗口(session window)三种窗口。其中时间窗口又可划分为滑动时间窗口和翻转时间窗口。 窗口子句用于针对查询的数据集合进行按照窗口切分成为查询子集并进行聚合,窗口包含时间窗口(time window)、状态窗口(status window)、会话窗口(session window)三种窗口。其中时间窗口又可划分为滑动时间窗口和翻转时间窗口。
......
--- ---
sidebar_label: 边界限制 sidebar_label: 边界限制
title: 边界限制
--- ---
# 边界限制
## 一般限制 ## 一般限制
- 数据库名最大长度为 32。 - 数据库名最大长度为 32。
......
--- ---
sidebar_label: JSON 类型使用说明 sidebar_label: JSON 类型使用说明
title: JSON 类型使用说明
--- ---
# JSON 类型使用说明
## 语法说明 ## 语法说明
......
# 转义字符说明 ---
title: 转义字符说明
---
## 转义字符表 ## 转义字符表
......
--- ---
sidebar_label: 错误码 sidebar_label: 错误码
title: 错误码以及对应的十进制码
--- ---
# 错误码以及对应的十进制码
| 状态码 | 模 | 错误码(十六进制) | 错误描述 | 错误码(十进制) | | 状态码 | 模 | 错误码(十六进制) | 错误描述 | 错误码(十进制) |
| :-------------------------------------- | :-: | :----------------: | :------------------------------------------- | :--------------- | | :-------------------------------------- | :-: | :----------------: | :------------------------------------------- | :--------------- |
| TSDB_CODE_RPC_ACTION_IN_PROGRESS | 0 | 0x0001 | "Action in progress" | -2147483647 | | TSDB_CODE_RPC_ACTION_IN_PROGRESS | 0 | 0x0001 | "Action in progress" | -2147483647 |
......
# TAOS SQL ---
title: TAOS SQL
---
本文档说明 TAOS SQL 支持的语法规则、主要查询功能、支持的 SQL 查询函数,以及常用技巧等内容。阅读本文档需要读者具有基本的 SQL 语言的基础。 本文档说明 TAOS SQL 支持的语法规则、主要查询功能、支持的 SQL 查询函数,以及常用技巧等内容。阅读本文档需要读者具有基本的 SQL 语言的基础。
......
# RESTful API ---
title: RESTful API
---
为支持各种不同类型平台的开发,TDengine 提供符合 REST 设计标准的 API,即 RESTful API。为最大程度降低学习成本,不同于其他数据库 RESTful API 的设计方法,TDengine 直接通过 HTTP POST 请求 BODY 中包含的 SQL 语句来操作数据库,仅需要一个 URL。RESTful 连接器的使用参见[视频教程](https://www.taosdata.com/blog/2020/11/11/1965.html)。 为支持各种不同类型平台的开发,TDengine 提供符合 REST 设计标准的 API,即 RESTful API。为最大程度降低学习成本,不同于其他数据库 RESTful API 的设计方法,TDengine 直接通过 HTTP POST 请求 BODY 中包含的 SQL 语句来操作数据库,仅需要一个 URL。RESTful 连接器的使用参见[视频教程](https://www.taosdata.com/blog/2020/11/11/1965.html)。
......
# 连接器 ---
title: 连接器
---
TDengine 提供了丰富的应用程序开发接口,其中包括 C/C++、Java、Python、Go、Node.js、C# 、RESTful 等,便于用户快速开发应用。 TDengine 提供了丰富的应用程序开发接口,其中包括 C/C++、Java、Python、Go、Node.js、C# 、RESTful 等,便于用户快速开发应用。
......
--- ---
sidebar_position: 1 sidebar_position: 1
title: C/C++ Connector
--- ---
# C/C++ Connector
**C/C++连接器支持的系统有**: ## 支持的系统
| **CPU 类型** | x64(64bit) | | | ARM64 | ARM32 | | **CPU 类型** | x64(64bit) | | | ARM64 | ARM32 |
| ------------ | ------------ | -------- | -------- | -------- | -------- | | ------------ | ------------ | -------- | -------- | -------- | -------- |
...@@ -26,7 +26,7 @@ C/C++的 API 类似于 MySQL 的 C API。应用程序使用时,需要包含 TD ...@@ -26,7 +26,7 @@ C/C++的 API 类似于 MySQL 的 C API。应用程序使用时,需要包含 TD
- 如未特别说明,当 API 的返回值是整数时,_0_ 代表成功,其它是代表失败原因的错误码,当返回值是指针时, _NULL_ 表示失败。 - 如未特别说明,当 API 的返回值是整数时,_0_ 代表成功,其它是代表失败原因的错误码,当返回值是指针时, _NULL_ 表示失败。
- 在 taoserror.h 中有所有的错误码,以及对应的原因描述。 - 在 taoserror.h 中有所有的错误码,以及对应的原因描述。
### 示例程序 ## 示例程序
使用 C/C++连接器的示例代码请参见 https://github.com/taosdata/TDengine/tree/develop/examples/c 。 使用 C/C++连接器的示例代码请参见 https://github.com/taosdata/TDengine/tree/develop/examples/c 。
...@@ -40,7 +40,7 @@ C/C++的 API 类似于 MySQL 的 C API。应用程序使用时,需要包含 TD ...@@ -40,7 +40,7 @@ C/C++的 API 类似于 MySQL 的 C API。应用程序使用时,需要包含 TD
**提示:**在 ARM 环境下编译时,请将 makefile 中的-msse4.2 打开,这个选项只有在 x64/x86 硬件平台上才能支持。 **提示:**在 ARM 环境下编译时,请将 makefile 中的-msse4.2 打开,这个选项只有在 x64/x86 硬件平台上才能支持。
### 基础 API ## 基础 API
基础 API 用于完成创建数据库连接等工作,为其它 API 的执行提供运行时环境。 基础 API 用于完成创建数据库连接等工作,为其它 API 的执行提供运行时环境。
...@@ -89,7 +89,7 @@ C/C++的 API 类似于 MySQL 的 C API。应用程序使用时,需要包含 TD ...@@ -89,7 +89,7 @@ C/C++的 API 类似于 MySQL 的 C API。应用程序使用时,需要包含 TD
关闭连接,其中`taos`是`taos_connect`函数返回的指针。 关闭连接,其中`taos`是`taos_connect`函数返回的指针。
### 同步查询 API ## 同步查询 API
传统的数据库操作 API,都属于同步操作。应用调用 API 后,一直处于阻塞状态,直到服务器返回结果。TDengine 支持如下 API: 传统的数据库操作 API,都属于同步操作。应用调用 API 后,一直处于阻塞状态,直到服务器返回结果。TDengine 支持如下 API:
...@@ -154,7 +154,7 @@ typedef struct taosField { ...@@ -154,7 +154,7 @@ typedef struct taosField {
::: :::
### 异步查询 API ## 异步查询 API
同步 API 之外,TDengine 还提供性能更高的异步调用 API 处理数据插入、查询操作。在软硬件环境相同的情况下,异步 API 处理数据插入的速度比同步 API 快 2 ~ 4 倍。异步 API 采用非阻塞式的调用方式,在系统真正完成某个具体数据库操作前,立即返回。调用的线程可以去处理其他工作,从而可以提升整个应用的性能。异步 API 在网络延迟严重的情况下,优点尤为突出。 同步 API 之外,TDengine 还提供性能更高的异步调用 API 处理数据插入、查询操作。在软硬件环境相同的情况下,异步 API 处理数据插入的速度比同步 API 快 2 ~ 4 倍。异步 API 采用非阻塞式的调用方式,在系统真正完成某个具体数据库操作前,立即返回。调用的线程可以去处理其他工作,从而可以提升整个应用的性能。异步 API 在网络延迟严重的情况下,优点尤为突出。
...@@ -180,7 +180,7 @@ typedef struct taosField { ...@@ -180,7 +180,7 @@ typedef struct taosField {
TDengine 的异步 API 均采用非阻塞调用模式。应用程序可以用多线程同时打开多张表,并可以同时对每张打开的表进行查询或者插入操作。需要指出的是,**客户端应用必须确保对同一张表的操作完全串行化**,即对同一个表的插入或查询操作未完成时(未返回时),不能够执行第二个插入或查询操作。 TDengine 的异步 API 均采用非阻塞调用模式。应用程序可以用多线程同时打开多张表,并可以同时对每张打开的表进行查询或者插入操作。需要指出的是,**客户端应用必须确保对同一张表的操作完全串行化**,即对同一个表的插入或查询操作未完成时(未返回时),不能够执行第二个插入或查询操作。
### 参数绑定 API ## 参数绑定 API
除了直接调用 `taos_query` 进行查询,TDengine 也提供了支持参数绑定的 Prepare API,与 MySQL 一样,这些 API 目前也仅支持用问号 `?` 来代表待绑定的参数。文档中有时也会把此功能称为“原生接口写入”。 除了直接调用 `taos_query` 进行查询,TDengine 也提供了支持参数绑定的 Prepare API,与 MySQL 一样,这些 API 目前也仅支持用问号 `?` 来代表待绑定的参数。文档中有时也会把此功能称为“原生接口写入”。
...@@ -215,17 +215,17 @@ TDengine 的异步 API 均采用非阻塞调用模式。应用程序可以用多 ...@@ -215,17 +215,17 @@ TDengine 的异步 API 均采用非阻塞调用模式。应用程序可以用多
不如 `taos_stmt_bind_param_batch` 效率高,但可以支持非 INSERT 类型的 SQL 语句。 不如 `taos_stmt_bind_param_batch` 效率高,但可以支持非 INSERT 类型的 SQL 语句。
进行参数绑定,bind 指向一个数组(代表所要绑定的一行数据),需保证此数组中的元素数量和顺序与 SQL 语句中的参数完全一致。TAOS_BIND 的使用方法与 MySQL 中的 MYSQL_BIND 一致,具体定义如下: 进行参数绑定,bind 指向一个数组(代表所要绑定的一行数据),需保证此数组中的元素数量和顺序与 SQL 语句中的参数完全一致。TAOS_BIND 的使用方法与 MySQL 中的 MYSQL_BIND 一致,具体定义如下:
```c ```c
typedef struct TAOS_BIND { typedef struct TAOS_BIND {
int buffer_type; int buffer_type;
void * buffer; void * buffer;
unsigned long buffer_length; // 未实际使用 unsigned long buffer_length; // 未实际使用
unsigned long *length; unsigned long *length;
int * is_null; int * is_null;
int is_unsigned; // 未实际使用 int is_unsigned; // 未实际使用
int * error; // 未实际使用 int * error; // 未实际使用
} TAOS_BIND; } TAOS_BIND;
``` ```
- `int taos_stmt_set_tbname(TAOS_STMT* stmt, const char* name)` - `int taos_stmt_set_tbname(TAOS_STMT* stmt, const char* name)`
...@@ -242,16 +242,16 @@ typedef struct TAOS_BIND { ...@@ -242,16 +242,16 @@ typedef struct TAOS_BIND {
(2.1.1.0 版本新增,仅支持用于替换 INSERT 语句中的参数值) (2.1.1.0 版本新增,仅支持用于替换 INSERT 语句中的参数值)
以多列的方式传递待绑定的数据,需要保证这里传递的数据列的顺序、列的数量与 SQL 语句中的 VALUES 参数完全一致。TAOS_MULTI_BIND 的具体定义如下: 以多列的方式传递待绑定的数据,需要保证这里传递的数据列的顺序、列的数量与 SQL 语句中的 VALUES 参数完全一致。TAOS_MULTI_BIND 的具体定义如下:
```c ```c
typedef struct TAOS_MULTI_BIND { typedef struct TAOS_MULTI_BIND {
int buffer_type; int buffer_type;
void * buffer; void * buffer;
uintptr_t buffer_length; uintptr_t buffer_length;
int32_t * length; int32_t * length;
char * is_null; char * is_null;
int num; // 列的个数,即 buffer 中的参数个数 int num; // 列的个数,即 buffer 中的参数个数
} TAOS_MULTI_BIND; } TAOS_MULTI_BIND;
``` ```
- `int taos_stmt_add_batch(TAOS_STMT *stmt)` - `int taos_stmt_add_batch(TAOS_STMT *stmt)`
...@@ -274,7 +274,7 @@ typedef struct TAOS_MULTI_BIND { ...@@ -274,7 +274,7 @@ typedef struct TAOS_MULTI_BIND {
(2.1.3.0 版本新增) (2.1.3.0 版本新增)
用于在其他 stmt API 返回错误(返回错误码或空指针)时获取错误信息。 用于在其他 stmt API 返回错误(返回错误码或空指针)时获取错误信息。
### Schemaless 方式写入接口 ## Schemaless 方式写入接口
除了使用 SQL 方式或者使用参数绑定 API 写入数据外,还可以使用 Schemaless 的方式完成写入。Schemaless 可以免于预先创建超级表/数据子表的数据结构,而是可以直接写入数据,TDengine 系统会根据写入的数据内容自动创建和维护所需要的表结构。Schemaless 的使用方式详见 [Schemaless 写入](https://www.taosdata.com/cn/documentation/insert#schemaless) 章节,这里介绍与之配套使用的 C/C++ API。 除了使用 SQL 方式或者使用参数绑定 API 写入数据外,还可以使用 Schemaless 的方式完成写入。Schemaless 可以免于预先创建超级表/数据子表的数据结构,而是可以直接写入数据,TDengine 系统会根据写入的数据内容自动创建和维护所需要的表结构。Schemaless 的使用方式详见 [Schemaless 写入](https://www.taosdata.com/cn/documentation/insert#schemaless) 章节,这里介绍与之配套使用的 C/C++ API。
...@@ -316,40 +316,40 @@ typedef struct TAOS_MULTI_BIND { ...@@ -316,40 +316,40 @@ typedef struct TAOS_MULTI_BIND {
**支持版本** **支持版本**
该功能接口从 2.3.0.0 版本开始支持。 该功能接口从 2.3.0.0 版本开始支持。
```c ```c
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <taos.h> #include <taos.h>
int main() { int main() {
const char* host = "127.0.0.1"; const char* host = "127.0.0.1";
const char* user = "root"; const char* user = "root";
const char* passwd = "taosdata"; const char* passwd = "taosdata";
// connect to server // connect to server
TAOS* taos = taos_connect(host, user, passwd, "test", 0); TAOS* taos = taos_connect(host, user, passwd, "test", 0);
// prepare the line string // prepare the line string
char* lines1[] = { char* lines1[] = {
"stg,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000", "stg,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000",
"stg,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64 1626006833641000000" "stg,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64 1626006833641000000"
}; };
// schema-less insert // schema-less insert
TAOS_RES* res = taos_schemaless_insert(taos, lines1, 2, TSDB_SML_LINE_PROTOCOL, TSDB_SML_TIMESTAMP_NANO_SECONDS); TAOS_RES* res = taos_schemaless_insert(taos, lines1, 2, TSDB_SML_LINE_PROTOCOL, TSDB_SML_TIMESTAMP_NANO_SECONDS);
if (taos_errno(res) != 0) { if (taos_errno(res) != 0) {
printf("failed to insert schema-less data, reason: %s\n", taos_errstr(res)); printf("failed to insert schema-less data, reason: %s\n", taos_errstr(res));
} }
taos_free_result(res); taos_free_result(res);
// close the connection // close the connection
taos_close(taos); taos_close(taos);
return (code); return (code);
} }
``` ```
### 连续查询接口 ## 连续查询接口
TDengine 提供时间驱动的实时流式计算 API。可以每隔一指定的时间段,对一张或多张数据库的表(数据流)进行各种实时聚合计算操作。操作简单,仅有打开、关闭流的 API。具体如下: TDengine 提供时间驱动的实时流式计算 API。可以每隔一指定的时间段,对一张或多张数据库的表(数据流)进行各种实时聚合计算操作。操作简单,仅有打开、关闭流的 API。具体如下:
...@@ -370,7 +370,7 @@ TDengine 提供时间驱动的实时流式计算 API。可以每隔一指定的 ...@@ -370,7 +370,7 @@ TDengine 提供时间驱动的实时流式计算 API。可以每隔一指定的
关闭数据流,其中提供的参数是 taos_open_stream 的返回值。用户停止流式计算的时候,务必关闭该数据流。 关闭数据流,其中提供的参数是 taos_open_stream 的返回值。用户停止流式计算的时候,务必关闭该数据流。
### 数据订阅接口 ## 数据订阅接口
订阅 API 目前支持订阅一张或多张表,并通过定期轮询的方式不断获取写入表中的最新数据。 订阅 API 目前支持订阅一张或多张表,并通过定期轮询的方式不断获取写入表中的最新数据。
......
--- ---
sidebar_position: 7 sidebar_position: 7
sidebar_label: C# sidebar_label: C#
title: C# Connector
--- ---
# C# 连接器 ## 简介
- C# 连接器支持的系统有:Linux 64/Windows x64/Windows x86 - C# 连接器支持的系统有:Linux 64/Windows x64/Windows x86
......
--- ---
sidebar_position: 4 sidebar_position: 4
title: Go Connector
--- ---
# Go Connector
## 安装准备 ## 安装准备
Go 连接器支持的系统有: Go 连接器支持的系统有:
......
--- ---
sidebar_position: 2 sidebar_position: 2
title: Java Connector
--- ---
# Java Connector
## 总体介绍 ## 总体介绍
`taos-jdbcdriver` 的实现包括 2 种形式: JDBC-JNI 和 JDBC-RESTful(taos-jdbcdriver-2.0.18 开始支持 JDBC-RESTful)。 JDBC-JNI 通过调用客户端 libtaos.so(或 taos.dll )的本地方法实现, JDBC-RESTful 则在内部封装了 RESTful 接口实现。 `taos-jdbcdriver` 的实现包括 2 种形式: JDBC-JNI 和 JDBC-RESTful(taos-jdbcdriver-2.0.18 开始支持 JDBC-RESTful)。 JDBC-JNI 通过调用客户端 libtaos.so(或 taos.dll )的本地方法实现, JDBC-RESTful 则在内部封装了 RESTful 接口实现。
......
--- ---
sidebar_position: 5 sidebar_position: 5
title: Node.js Connector
--- ---
# Node.js Connector ## 简介
Node.js 连接器支持的系统有: Node.js 连接器支持的系统有:
......
--- ---
sidebar_position: 3 sidebar_position: 3
title: Python Connector
--- ---
# Python Connector
Python 连接器的使用参见[视频教程](https://www.taosdata.com/blog/2020/11/11/1963.html) Python 连接器的使用参见[视频教程](https://www.taosdata.com/blog/2020/11/11/1963.html)
- **安装**:参见下面具体步骤 - **安装**:参见下面具体步骤
- **示例程序**:位于 install_directory/examples/python - **示例程序**:位于 install_directory/examples/python
### 安装 ## 安装
Python 连接器支持的系统有:Linux 64/Windows x64 Python 连接器支持的系统有:Linux 64/Windows x64
...@@ -19,7 +19,7 @@ Python 连接器支持的系统有:Linux 64/Windows x64 ...@@ -19,7 +19,7 @@ Python 连接器支持的系统有:Linux 64/Windows x64
- 已安装 python 2.7 or >= 3.4 - 已安装 python 2.7 or >= 3.4
- 已安装 pip - 已安装 pip
### Python 连接器安装 ## Python 连接器安装
Python 连接器可以通过 `pip` 从 PyPI 下载安装。注意 TDengine Python 连接器的包名为 `taospy` 而不是 `taos`(这是一个与 TDengine 无关的另一个程序)。但为保持向后兼容性,仍然使用 `import taos` 导入。 Python 连接器可以通过 `pip` 从 PyPI 下载安装。注意 TDengine Python 连接器的包名为 `taospy` 而不是 `taos`(这是一个与 TDengine 无关的另一个程序)。但为保持向后兼容性,仍然使用 `import taos` 导入。
...@@ -38,7 +38,7 @@ Python 命令行依赖 taos 动态库 `libtaos.so` 或 `taos.dll`, 对于 Window ...@@ -38,7 +38,7 @@ Python 命令行依赖 taos 动态库 `libtaos.so` 或 `taos.dll`, 对于 Window
对于无法联网用户,可以将 TDengine 客户端中的 `connector/python` 路径(Linux 下其安装路径为 `/usr/local/taos/connector/python/`,Windows 下默认安装路径为 `C:\TDengine\connector\python`)添加到 `PYTHONPATH` 环境变量中使用。 对于无法联网用户,可以将 TDengine 客户端中的 `connector/python` 路径(Linux 下其安装路径为 `/usr/local/taos/connector/python/`,Windows 下默认安装路径为 `C:\TDengine\connector\python`)添加到 `PYTHONPATH` 环境变量中使用。
### 示例程序 ## 示例程序
示例程序源码位于 `<install_directory>/examples/python`,有: 示例程序源码位于 `<install_directory>/examples/python`,有:
...@@ -58,7 +58,7 @@ Python 命令行依赖 taos 动态库 `libtaos.so` 或 `taos.dll`, 对于 Window ...@@ -58,7 +58,7 @@ Python 命令行依赖 taos 动态库 `libtaos.so` 或 `taos.dll`, 对于 Window
- 如果执行的是查询语句,则 execute 执行成功后,需要通过 fetchall 方法去拉取结果集。 具体方法可以参考示例代码。 - 如果执行的是查询语句,则 execute 执行成功后,需要通过 fetchall 方法去拉取结果集。 具体方法可以参考示例代码。
### 安装验证 ## 安装验证
运行如下指令: 运行如下指令:
...@@ -69,9 +69,8 @@ python3 PythonChecker.py -host <fqdn> ...@@ -69,9 +69,8 @@ python3 PythonChecker.py -host <fqdn>
验证通过将打印出成功信息。 验证通过将打印出成功信息。
### Python 连接器的使用
#### PEP-249 兼容 API ## PEP-249 兼容 API
您可以像其他数据库一样,使用类似 [PEP-249](https://www.python.org/dev/peps/pep-0249/) 数据库 API 规范风格的 API: 您可以像其他数据库一样,使用类似 [PEP-249](https://www.python.org/dev/peps/pep-0249/) 数据库 API 规范风格的 API:
...@@ -87,7 +86,7 @@ for row in results: ...@@ -87,7 +86,7 @@ for row in results:
print(row) print(row)
``` ```
##### 代码示例 ### 代码示例
1. 导入 TDengine 客户端模块 1. 导入 TDengine 客户端模块
...@@ -144,7 +143,7 @@ for row in results: ...@@ -144,7 +143,7 @@ for row in results:
print("ts=%s, temperature=%d, humidity=%f" %(data[0], data[1], data[2])) print("ts=%s, temperature=%d, humidity=%f" %(data[0], data[1], data[2]))
``` ```
#### Query API ## Query API
从 v2.1.0 版本开始, 我们提供另外一种方法:`connection.query` 来操作数据库。 从 v2.1.0 版本开始, 我们提供另外一种方法:`connection.query` 来操作数据库。
...@@ -183,7 +182,7 @@ conn.execute("drop database pytest") ...@@ -183,7 +182,7 @@ conn.execute("drop database pytest")
- `errstr`: 错误信息 - `errstr`: 错误信息
- `close`: 关闭结果对象,一般不需要直接调用 - `close`: 关闭结果对象,一般不需要直接调用
#### 订阅 API ## 订阅 API
1. 创建一个同步订阅队列: 1. 创建一个同步订阅队列:
...@@ -214,7 +213,7 @@ conn.execute("drop database pytest") ...@@ -214,7 +213,7 @@ conn.execute("drop database pytest")
conn.close() conn.close()
``` ```
#### JSON 类型 ## JSON 类型
从 `taospy` `v2.2.0` 开始,Python 连接器开始支持 JSON 数据类型的标签(TDengine 版本要求 Beta 版 2.3.5+, 稳定版 2.4.0+)。 从 `taospy` `v2.2.0` 开始,Python 连接器开始支持 JSON 数据类型的标签(TDengine 版本要求 Beta 版 2.3.5+, 稳定版 2.4.0+)。
...@@ -257,14 +256,14 @@ k1 = conn.query("select info->'k1' as k1 from s1").fetch_all_into_dict() ...@@ -257,14 +256,14 @@ k1 = conn.query("select info->'k1' as k1 from s1").fetch_all_into_dict()
更多 JSON 类型的操作方式请参考 [JSON 类型使用说明](https://www.taosdata.com/cn/documentation/taos-sql)。 更多 JSON 类型的操作方式请参考 [JSON 类型使用说明](https://www.taosdata.com/cn/documentation/taos-sql)。
#### 关于纳秒 (nanosecond) 在 Python 连接器中的说明 ## 关于纳秒 (nanosecond) 在 Python 连接器中的说明
由于目前 Python 对 nanosecond 支持的不完善(参见链接 1. 2. ),目前的实现方式是在 nanosecond 精度时返回整数,而不是 ms 和 us 返回的 datetime 类型,应用开发者需要自行处理,建议使用 pandas 的 to_datetime()。未来如果 Python 正式完整支持了纳秒,涛思数据可能会修改相关接口。 由于目前 Python 对 nanosecond 支持的不完善(参见链接 1. 2. ),目前的实现方式是在 nanosecond 精度时返回整数,而不是 ms 和 us 返回的 datetime 类型,应用开发者需要自行处理,建议使用 pandas 的 to_datetime()。未来如果 Python 正式完整支持了纳秒,涛思数据可能会修改相关接口。
1. https://stackoverflow.com/questions/10611328/parsing-datetime-strings-containing-nanoseconds 1. https://stackoverflow.com/questions/10611328/parsing-datetime-strings-containing-nanoseconds
2. https://www.python.org/dev/peps/pep-0564/ 2. https://www.python.org/dev/peps/pep-0564/
#### 帮助信息 ## 帮助信息
用户可通过 python 的帮助信息直接查看模块的使用信息,或者参考 tests/examples/python 中的示例程序。以下为部分常用类和方法: 用户可通过 python 的帮助信息直接查看模块的使用信息,或者参考 tests/examples/python 中的示例程序。以下为部分常用类和方法:
......
# Rust Connector ---
title: Rust Connector
---
![Crates.io](https://img.shields.io/crates/v/libtaos) ![Crates.io](https://img.shields.io/crates/d/libtaos) ![Crates.io](https://img.shields.io/crates/v/libtaos) ![Crates.io](https://img.shields.io/crates/d/libtaos)
......
# 支持平台列表 ---
title: 支持平台列表
---
## TDengine 服务端支持的平台列表 ## TDengine 服务端支持的平台列表
......
--- ---
sidebar_label: 参数限制与保留关键字 sidebar_label: 参数限制与保留关键字
title: TDengine 参数限制与保留关键字
--- ---
# TDengine 参数限制与保留关键字
## 名称命名规则 ## 名称命名规则
......
# 用 Docker 部署 TDengine ---
title: 用 Docker 部署 TDengine
---
本章主要介绍如何在容器中启动 TDengine 服务并访问它。 本章主要介绍如何在容器中启动 TDengine 服务并访问它。
注意:可以在 docker run 命令行中或者 docker-compose 文件中使用环境变量来控制容器中服务的行为。 注意:可以在 docker run 命令行中或者 docker-compose 文件中使用环境变量来控制容器中服务的行为。
......
# 服务端配置 ---
title: 服务端配置
---
TDengine 系统后台服务由 taosd 提供,可以在配置文件 taos.cfg 里修改配置参数,以满足不同场景的需求。配置文件的缺省位置在/etc/taos 目录,可以通过 taosd 命令行执行参数 -c 指定配置文件目录。比如,指定配置文件位于`/home/user` 这个目录: TDengine 系统后台服务由 taosd 提供,可以在配置文件 taos.cfg 里修改配置参数,以满足不同场景的需求。配置文件的缺省位置在/etc/taos 目录,可以通过 taosd 命令行执行参数 -c 指定配置文件目录。比如,指定配置文件位于`/home/user` 这个目录:
......
# 客户端及应用驱动配置 ---
title: 客户端及应用驱动配置
---
TDengine 系统的前台交互客户端应用程序为 taos,以及应用驱动,它与 taosd 共享同一个配置文件 taos.cfg。运行 taos 时,使用参数-c 指定配置文件目录,如 taos -c /home/cfg,表示使用/home/cfg/目录下的 taos.cfg 配置文件中的参数,缺省目录是/etc/taos。更多 taos 的使用方法请见帮助信息 `taos --help`。本节主要说明 taos 客户端应用在配置文件 taos.cfg 文件中使用到的参数。 TDengine 系统的前台交互客户端应用程序为 taos,以及应用驱动,它与 taosd 共享同一个配置文件 taos.cfg。运行 taos 时,使用参数-c 指定配置文件目录,如 taos -c /home/cfg,表示使用/home/cfg/目录下的 taos.cfg 配置文件中的参数,缺省目录是/etc/taos。更多 taos 的使用方法请见帮助信息 `taos --help`。本节主要说明 taos 客户端应用在配置文件 taos.cfg 文件中使用到的参数。
......
# 文件目录结构 ---
title: 文件目录结构
---
安装 TDengine 后,默认会在操作系统中生成下列目录或文件: 安装 TDengine 后,默认会在操作系统中生成下列目录或文件:
......
# Schemaless 写入 ---
title: Schemaless 写入
---
## 前言 ## 前言
......
--- ---
sidebar_label: TDengine + Telegraf + Grafana sidebar_label: TDengine + Telegraf + Grafana
title: 使用 TDengine + Telegraf + Grafana 快速搭建 IT 运维展示系统
--- ---
# 使用 TDengine + Telegraf + Grafana 快速搭建 IT 运维展示系统
## 背景介绍 ## 背景介绍
TDengine 是涛思数据专为物联网、车联网、工业互联网、IT 运维等设计和优化的大数据平台。自从 2019 年 7 月开源以来,凭借创新的数据建模设计、快捷的安装方式、易用的编程接口和强大的数据写入查询性能博得了大量时序数据开发者的青睐。 TDengine 是涛思数据专为物联网、车联网、工业互联网、IT 运维等设计和优化的大数据平台。自从 2019 年 7 月开源以来,凭借创新的数据建模设计、快捷的安装方式、易用的编程接口和强大的数据写入查询性能博得了大量时序数据开发者的青睐。
......
--- ---
sidebar_label: TDengine + collectd/StatsD + Grafana sidebar_label: TDengine + collectd/StatsD + Grafana
title: 使用 TDengine + collectd/StatsD + Grafana 快速搭建 IT 运维监控系统
--- ---
# 使用 TDengine + collectd/StatsD + Grafana 快速搭建 IT 运维监控系统
## 背景介绍 ## 背景介绍
TDengine 是涛思数据专为物联网、车联网、工业互联网、IT 运维等设计和优化的大数据平台。自从 2019 年 7 月开源以来,凭借创新的数据建模设计、快捷的安装方式、易用的编程接口和强大的数据写入查询性能博得了大量时序数据开发者的青睐。 TDengine 是涛思数据专为物联网、车联网、工业互联网、IT 运维等设计和优化的大数据平台。自从 2019 年 7 月开源以来,凭借创新的数据建模设计、快捷的安装方式、易用的编程接口和强大的数据写入查询性能博得了大量时序数据开发者的青睐。
......
--- ---
sidebar_label: OpenTSDB 迁移到 TDengine sidebar_label: OpenTSDB 迁移到 TDengine
title: OpenTSDB 应用迁移到 TDengine 的最佳实践
--- ---
# OpenTSDB 应用迁移到 TDengine 的最佳实践
作为一个分布式、可伸缩、基于 HBase 的分布式时序数据库系统,得益于其先发优势,OpenTSDB 被 DevOps 领域的人员引入并广泛地应用在了运维监控领域。但最近几年,随着云计算、微服务、容器化等新技术快速落地发展,企业级服务种类变得越来越多,架构也越来越复杂,应用运行基础环境日益多样化,给系统和运行监控带来的压力也越来越大。从这一现状出发,使用 OpenTSDB 作为 DevOps 的监控后端存储,越来越受困于其性能问题以及迟缓的功能升级,以及由此而衍生出来的应用部署成本上升和运行效率降低等问题,这些问题随着系统规模的扩大日益严重。 作为一个分布式、可伸缩、基于 HBase 的分布式时序数据库系统,得益于其先发优势,OpenTSDB 被 DevOps 领域的人员引入并广泛地应用在了运维监控领域。但最近几年,随着云计算、微服务、容器化等新技术快速落地发展,企业级服务种类变得越来越多,架构也越来越复杂,应用运行基础环境日益多样化,给系统和运行监控带来的压力也越来越大。从这一现状出发,使用 OpenTSDB 作为 DevOps 的监控后端存储,越来越受困于其性能问题以及迟缓的功能升级,以及由此而衍生出来的应用部署成本上升和运行效率降低等问题,这些问题随着系统规模的扩大日益严重。
在这一背景下,为满足高速增长的物联网大数据市场和技术需求,在吸取众多传统关系型数据库、NoSQL 数据库、流计算引擎、消息队列等软件的优点之后,涛思数据自主开发出创新型大数据处理产品 TDengine。在时序大数据处理上,TDengine 有着自己独特的优势。就 OpenTSDB 当前遇到的问题来说,TDengine 能够有效解决。 在这一背景下,为满足高速增长的物联网大数据市场和技术需求,在吸取众多传统关系型数据库、NoSQL 数据库、流计算引擎、消息队列等软件的优点之后,涛思数据自主开发出创新型大数据处理产品 TDengine。在时序大数据处理上,TDengine 有着自己独特的优势。就 OpenTSDB 当前遇到的问题来说,TDengine 能够有效解决。
......
# 物联网大数据 ---
title: 物联网大数据
---
- [物联网、工业互联网大数据的特点](https://www.taosdata.com/blog/2019/07/09/105.html) - [物联网、工业互联网大数据的特点](https://www.taosdata.com/blog/2019/07/09/105.html)
- [物联网大数据平台应具备的功能和特点](https://www.taosdata.com/blog/2019/07/29/542.html) - [物联网大数据平台应具备的功能和特点](https://www.taosdata.com/blog/2019/07/29/542.html)
......
# 常见问题及反馈 ---
title: 常见问题及反馈
---
## 问题反馈 ## 问题反馈
......
# 视频教程 ---
title: 视频教程
## ---
## 技术公开课 ## 技术公开课
......
# 通过 Docker 快速体验 TDengine ---
title: 通过 Docker 快速体验 TDengine
---
虽然并不推荐在生产环境中通过 Docker 来部署 TDengine 服务,但 Docker 工具能够很好地屏蔽底层操作系统的环境差异,很适合在开发测试或初次体验时用于安装运行 TDengine 的工具集。特别是,借助 Docker,能够比较方便地在 macOS 和 Windows 系统上尝试 TDengine,而无需安装虚拟机或额外租用 Linux 服务器。另外,从 2.0.14.0 版本开始,TDengine 提供的镜像已经可以同时支持 X86-64、X86、arm64、arm32 平台,像 NAS、树莓派、嵌入式开发板之类可以运行 docker 的非主流计算机也可以基于本文档轻松体验 TDengine。 虽然并不推荐在生产环境中通过 Docker 来部署 TDengine 服务,但 Docker 工具能够很好地屏蔽底层操作系统的环境差异,很适合在开发测试或初次体验时用于安装运行 TDengine 的工具集。特别是,借助 Docker,能够比较方便地在 macOS 和 Windows 系统上尝试 TDengine,而无需安装虚拟机或额外租用 Linux 服务器。另外,从 2.0.14.0 版本开始,TDengine 提供的镜像已经可以同时支持 X86-64、X86、arm64、arm32 平台,像 NAS、树莓派、嵌入式开发板之类可以运行 docker 的非主流计算机也可以基于本文档轻松体验 TDengine。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册