diff --git a/documentation20/webdocs/assets/connector.png b/documentation20/webdocs/assets/connector.png new file mode 100644 index 0000000000000000000000000000000000000000..c30a50a8302cc5cad15471e16d064a36c1fa37ea Binary files /dev/null and b/documentation20/webdocs/assets/connector.png differ diff --git a/documentation20/webdocs/markdowndocs/Documentation-ch.md b/documentation20/webdocs/markdowndocs/Documentation-ch.md index f1f2d58f0562b831395e5177eb34ec3534aaa715..766a428f1bfa8559dfb86701195868a8b6821ebc 100644 --- a/documentation20/webdocs/markdowndocs/Documentation-ch.md +++ b/documentation20/webdocs/markdowndocs/Documentation-ch.md @@ -84,6 +84,7 @@ TDengine是一个高效的存储、查询、分析时序大数据的平台,专 - [数据导出](https://www.taosdata.com/cn/documentation20/administrator/#数据导出):从shell按表导出,也可用taosdump工具做各种导出 - [系统监控](https://www.taosdata.com/cn/documentation20/administrator/#系统监控):检查系统现有的连接、查询、流式计算,日志和事件等 - [文件目录结构](https://www.taosdata.com/cn/documentation20/administrator/#文件目录结构):TDengine数据文件、配置文件等所在目录 +- [参数限制和保留关键字](https://www.taosdata.com/cn/documentation20/administrator/#参数限制和保留关键字):TDengine的参数限制和保留关键字列表 ## [TAOS SQL](https://www.taosdata.com/cn/documentation20/taos-sql) @@ -128,4 +129,4 @@ TDengine是一个高效的存储、查询、分析时序大数据的平台,专 ## [培训和FAQ](https://www.taosdata.com/cn/faq) - [FAQ](https://www.taosdata.com/cn/documentation20/faq):常见问题与答案 -- [应用案列](https://www.taosdata.com/cn/blog/?categories=4):一些使用实例来解释如何使用TDengine \ No newline at end of file +- [应用案列](https://www.taosdata.com/cn/blog/?categories=4):一些使用实例来解释如何使用TDengine diff --git a/documentation20/webdocs/markdowndocs/Getting Started-ch.md b/documentation20/webdocs/markdowndocs/Getting Started-ch.md index beb0c639ae7f5d6b5535b194f70d806305208492..b63bfff6c999340882c665fe0f5516a72dd62a72 100644 --- a/documentation20/webdocs/markdowndocs/Getting Started-ch.md +++ b/documentation20/webdocs/markdowndocs/Getting Started-ch.md @@ -2,7 +2,35 @@ ## 快捷安装 -TDengine软件分为服务器、客户端和报警模块三部分,目前2.0版仅能在Linux系统上安装和运行,后续会支持Windows、MAC OS等系统。如果应用需要在Windows或Mac上运行,目前只能使用TDengine的RESTful接口连接服务器。硬件支持X64,后续会支持ARM、龙芯等CPU系统。用户可根据需求选择通过[源码](https://www.taosdata.com/cn/getting-started/#通过源码安装)或者[安装包](https://www.taosdata.com/cn/getting-started/#通过安装包安装)来安装。 +TDengine软件分为服务器、客户端和报警模块三部分,目前2.0版服务器仅能在Linux系统上安装和运行,后续会支持Windows、mac OS等系统。 + +**应用驱动** + +如果应用在Windows和Linux上运行,可使用C/C++/C#/JAVA/Python/Go/Node.js接口连接服务器。如果应用在Mac上运行,目前可以使用RESTful接口连接服务器。 + +**CPU** + +CPU支持X64/ARM64/MIPS64/Alpha64,后续会支持ARM32、RISC-V等CPU架构。用户可根据需求选择通过[源码](https://www.taosdata.com/cn/getting-started/#通过源码安装)或者[安装包](https://www.taosdata.com/cn/getting-started/#通过安装包安装)来安装。 + +**服务器** + +目前TDengine服务器可以运行在以下平台上: + +| | **CentOS** **6/7/8** | **Ubuntu** **16/18/20** | **Other Linux** | **Win64/32** | **macOS** | **统信****UOS** | **银河****/****中标麒麟** | **凝思** **V60/V80** | +| -------------- | --------------------- | ------------------------ | --------------- | ------------ | --------- | --------------- | ------------------------- | --------------------- | +| X64 | ● | ● | | ○/○ | ○ | ○ | ● | ● | +| 树莓派ARM32 | | ● | ● | | | | | | +| 龙芯MIPS64 | | | ● | | | | | | +| 鲲鹏 ARM64 | | ○ | ○ | | | | ● | | +| 申威 Alpha64 | | | ○ | | | ● | | | +| 飞腾ARM64 | | | ○优麒麟 | | | | | | +| 海光X64 | ● | ● | ● | | | ○ | ● | ● | +| 瑞芯微ARM64/32 | | | ○ | | | | | | +| 全志ARM64/32 | | | ○ | | | | | | +| 炬力ARM64/32 | | | ○ | | | | | | +| TI ARM32 | | | ○ | | | | | | + + ### 通过源码安装 @@ -16,28 +44,27 @@ TDengine软件分为服务器、客户端和报警模块三部分,目前2.0版 服务器部分,我们提供三种安装包,您可以根据需要选择。TDengine的安装非常简单,从下载到安装成功仅仅只要几秒钟。 - +- TDengine-server-2.0.9.0-Linux-x64.rpm (4.2M) +- TDengine-server-2.0.9.0-Linux-x64.deb (2.7M) +- TDengine-server-2.0.9.0-Linux-x64.tar.gz (4.5M) + 客户端部分,Linux安装包如下: -- TDengine-client-2.0.0.0-Linux-x64.tar.gz (3.4M) +- TDengine-client-2.0.9.0-Linux-x64.tar.gz(3.0M) +- TDengine-client-2.0.9.0-Windows-x64.exe(2.8M) +- TDengine-client-2.0.9.0-Windows-x86.exe(2.8M) 报警模块的Linux安装包如下(请参考[报警模块的使用方法](https://github.com/taosdata/TDengine/blob/master/alert/README_cn.md)): -- TDengine-alert-2.0.0-Linux-x64.tar.gz (8.1M) +- TDengine-alert-2.0.9.0-Linux-x64.tar.gz (8.1M) -目前,TDengine只支持在使用[`systemd`](https://en.wikipedia.org/wiki/Systemd)做进程服务管理的linux系统上安装。其他linux系统的支持正在开发中。用`which systemctl`命令来检测系统中是否存在`systemd`包: +目前,TDengine 支持在使用[`systemd`](https://en.wikipedia.org/wiki/Systemd)做进程服务管理的linux系统上安装,用`which systemctl`命令来检测系统中是否存在`systemd`包: ```cmd which systemctl ``` -如果系统中不存在`systemd`包,请考虑[通过源码安装](#通过源码安装)TDengine。 - 具体的安装过程,请参见TDengine多种安装包的安装和卸载。 ## 轻松启动 @@ -54,12 +81,14 @@ systemctl status taosd ``` 如果TDengine服务正常工作,那么您可以通过TDengine的命令行程序`taos`来访问并体验TDengine。 - + **注意:** - + - systemctl命令需要 _root_ 权限来运行,如果您非 _root_ 用户,请在命令前添加 sudo - 为更好的获得产品反馈,改善产品,TDengine会采集基本的使用信息,但您可以修改系统配置文件taos.cfg里的配置参数telemetryReporting, 将其设为0,就可将其关闭。 +如果系统中不支持`systemd`,也可以用手动运行 /usr/local/taos/bin/taosd 方式启动 TDengine 服务。 + ## TDengine命令行程序 执行TDengine命令行程序,您只要在Linux终端执行`taos`即可。 diff --git a/documentation20/webdocs/markdowndocs/Model-ch.md b/documentation20/webdocs/markdowndocs/Model-ch.md index d698e3daaf60c02a76da8470d11fc292b93df058..e023a5c08db71356259b3165ec356a42bd9e9f63 100644 --- a/documentation20/webdocs/markdowndocs/Model-ch.md +++ b/documentation20/webdocs/markdowndocs/Model-ch.md @@ -6,13 +6,13 @@ TDengine采用关系型数据模型,需要建库、建表。因此对于一个 ## 创建库 -不同类型的数据采集点往往具有不同的数据特征,包括数据采集频率的高低,数据保留时间的长短,副本的数目,数据块的大小等等。为让各种场景下TDengine都能最大效率的工作,TDengine建议将不同数据特征的表创建在不同的库里,因为每个库可以配置不同的存储策略。创建一个库时,除SQL标准的选项外,应用还可以指定保留时长、副本数、内存块个数、时间精度、文件块里最大最小记录条数、是否压缩、一个数据文件覆盖的天数等多种参数。比如: +不同类型的数据采集点往往具有不同的数据特征,包括数据采集频率的高低,数据保留时间的长短,副本的数目,数据块的大小,是否允许更新数据等等。为让各种场景下TDengine都能最大效率的工作,TDengine建议将不同数据特征的表创建在不同的库里,因为每个库可以配置不同的存储策略。创建一个库时,除SQL标准的选项外,应用还可以指定保留时长、副本数、内存块个数、时间精度、文件块里最大最小记录条数、是否压缩、一个数据文件覆盖的天数等多种参数。比如: ```cmd -CREATE DATABASE power KEEP 365 DAYS 10 BLOCKS 4; +CREATE DATABASE power KEEP 365 DAYS 10 BLOCKS 4 UPDATE 1; ``` -上述语句将创建一个名为power的库,这个库的数据将保留365天(超过365天将被自动删除),每10天一个数据文件,内存块数为4。详细的语法及参数请见TAOS SQL - +上述语句将创建一个名为power的库,这个库的数据将保留365天(超过365天将被自动删除),每10天一个数据文件,内存块数为4,允许更新数据。详细的语法及参数请见TAOS SQL + 创建库之后,需要使用SQL命令USE将当前库切换过来,例如: ```cmd @@ -20,7 +20,7 @@ USE power; ``` 就当前连接里操作的库换为power,否则对具体表操作前,需要使用“库名.表名”来指定库的名字。 - + **注意:** - 任何一张表或超级表是属于一个库的,在创建表之前,必须先创建库。 @@ -45,14 +45,14 @@ CREATE TABLE d1001 USING meters TAGS ("Beijing.Chaoyang", 2); 其中d1001是表名,meters是超级表的表名,后面紧跟标签Location的具体标签值”Beijing.Chaoyang",标签groupId的具体标签值2。虽然在创建表时,需要指定标签值,但可以事后修改。详细细则请见 TAOS SQL。 TDengine建议将数据采集点的全局唯一ID作为表名(比如设备序列号)。但对于有的场景,并没有唯一的ID,可以将多个ID组合成一个唯一的ID。不建议将具有唯一性的ID作为标签值。 - + **自动建表**:在某些特殊场景中,用户在写数据时并不确定某个数据采集点的表是否存在,此时可在写入数据时使用自动建表语法来创建不存在的表,若该表已存在则不会建立新表。比如: ```cmd INSERT INTO d1001 USING METERS TAGS ("Beijng.Chaoyang", 2) VALUES (now, 10.2, 219, 0.32); ``` 上述SQL语句将记录(now, 10.2, 219, 0.32) 插入进表d1001。如果表d1001还未创建,则使用超级表meters做模板自动创建,同时打上标签值“Beijing.Chaoyang", 2。 - + ## 多列模型 vs 单列模型 TDengine支持多列模型,只要物理量是一个数据采集点同时采集的(时间戳一致),这些量就可以作为不同列放在一张超级表里。但还有一种极限的设计,单列模型,每个采集的物理量都单独建表,因此每种类型的物理量都单独建立一超级表。比如电流、电压、相位,就建三张超级表。 diff --git a/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md b/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md index 760ebae4fc3b7ddd609d1bfb5689f51b05fc7cb7..adba39ec1f5275a73b8b473d1ace52748b3e4f4b 100644 --- a/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md +++ b/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md @@ -2,7 +2,7 @@ 本文档说明TAOS SQL支持的语法规则、主要查询功能、支持的SQL查询函数,以及常用技巧等内容。阅读本文档需要读者具有基本的SQL语言的基础。 -TAOS SQL是用户对TDengine进行数据写入和查询的主要工具。TAOS SQL为了便于用户快速上手,在一定程度上提供类似于标准SQL类似的风格和模式。严格意义上,TAOS SQL并不是也不试图提供SQL标准的语法。此外,由于TDengine针对的时序性结构化数据不提供修改和更新功能,因此在TAO SQL中不提供数据更新和数据删除的相关功能。 +TAOS SQL是用户对TDengine进行数据写入和查询的主要工具。TAOS SQL为了便于用户快速上手,在一定程度上提供类似于标准SQL类似的风格和模式。严格意义上,TAOS SQL并不是也不试图提供SQL标准的语法。此外,由于TDengine针对的时序性结构化数据不提供删除功能,因此在TAO SQL中不提供数据删除的相关功能。 本章节SQL语法遵循如下约定: @@ -57,18 +57,29 @@ TDengine缺省的时间戳是毫秒精度,但通过修改配置参数enableMic ## 数据库管理 - **创建数据库** - ```mysql - CREATE DATABASE [IF NOT EXISTS] db_name [KEEP keep]; - ``` - 说明: - - 1) `KEEP`是该数据库的数据保留多长天数,缺省是3650天(10年),数据库会自动删除超过时限的数据; - 2) 数据库名最大长度为33; - 3) 一条SQL 语句的最大长度为65480个字符; - 4) 数据库还有更多与存储相关的配置参数,请参见[系统管理](../administrator/#服务端配置)。 + + ```mysql + CREATE DATABASE [IF NOT EXISTS] db_name [KEEP keep] [UPDATE 1]; + ``` + 说明: + + 1) KEEP是该数据库的数据保留多长天数,缺省是3650天(10年),数据库会自动删除超过时限的数据; + + 2) UPDATE 标志数据库支持更新相同时间戳数据; + + 3) 数据库名最大长度为33; + 4) 一条SQL 语句的最大长度为65480个字符; + 5) 数据库还有更多与存储相关的配置参数,请参见系统管理。 + +- **显示系统当前参数** + + ```mysql + SHOW VARIABLES; + ``` - **使用数据库** + ```mysql USE db_name; ``` @@ -143,6 +154,12 @@ TDengine缺省的时间戳是毫秒精度,但通过修改配置参数enableMic 显示当前数据库下的所有数据表信息。说明:可在like中使用通配符进行名称的匹配。 通配符匹配:1)’%’ (百分号)匹配0到任意个字符;2)’_’下划线匹配一个字符。 +- **在线修改显示字符宽度** + + ```mysql + SET MAX_BINARY_DISPLAY_WIDTH ; + ``` + - **获取表的结构信息** ```mysql diff --git a/documentation20/webdocs/markdowndocs/administrator-ch.md b/documentation20/webdocs/markdowndocs/administrator-ch.md index 36466d2b7ea29307b5c17ad21b0db47a98598fa4..f1f96812934979df9818ba7f3f725739dc8bdff4 100644 --- a/documentation20/webdocs/markdowndocs/administrator-ch.md +++ b/documentation20/webdocs/markdowndocs/administrator-ch.md @@ -95,6 +95,7 @@ TDengine系统后台服务由taosd提供,可以在配置文件taos.cfg里修 - logKeepDays:日志文件的最长保存时间。大于0时,日志文件会被重命名为taosdlog.xxx,其中xxx为日志文件最后修改的时间戳,单位为秒。默认值:0天。 - maxSQLLength:单条SQL语句允许最长限制。默认值:65380字节。 - telemetryReporting: 是否允许 TDengine 采集和上报基本使用信息,0表示不允许,1表示允许。 默认值:1。 +- queryBufferSize: 为所有并发查询占用保留的内存大小。计算规则可以根据实际应用可能的最大并发数和表的数字相乘,再乘 170 。单位为字节。 **注意:**对于端口,TDengine会使用从serverPort起13个连续的TCP和UDP端口号,请务必在防火墙打开。因此如果是缺省配置,需要打开从6030都6042共13个端口,而且必须TCP和UDP都打开。 @@ -155,6 +156,9 @@ TDengine系统的前台交互客户端应用程序为taos,它与taosd共享同 客户端配置参数 - firstEp: taos启动时,主动连接的集群中第一个taosd实例的end point, 缺省值为 localhost:6030。 + +- secondEp: taos 启动时,如果 firstEp 连不上,将尝试连接 secondEp。 + - locale 默认值:系统中动态获取,如果自动获取失败,需要用户在配置文件设置或通过API设置 @@ -228,7 +232,7 @@ TDengine系统的前台交互客户端应用程序为taos,它与taosd共享同 - maxBinaryDisplayWidth Shell中binary 和 nchar字段的显示宽度上限,超过此限制的部分将被隐藏。默认值:30。可在 shell 中通过命令 set max_binary_display_width nn 动态修改此选项。 - + ## 用户管理 @@ -263,7 +267,7 @@ SHOW USERS; ``` 显示所有用户 - + **注意:**SQL 语法中,< >表示需要用户输入的部分,但请不要输入< >本身 ## 数据导入 @@ -412,3 +416,65 @@ TDengine的所有可执行文件默认存放在 _/usr/local/taos/bin_ 目录下 您可以通过修改系统配置文件taos.cfg来配置不同的数据目录和日志目录。 + +## TDengine参数限制与保留关键字 + +- 数据库名:不能包含“.”以及特殊字符,不能超过32个字符 +- 表名:不能包含“.”以及特殊字符,与所属数据库名一起,不能超过192个字符 +- 表的列名:不能包含特殊字符,不能超过64个字符 +- 表的列数:不能超过1024列 +- 记录的最大长度:包括时间戳8 byte,不能超过16KB +- 单条SQL语句默认最大字符串长度:65480 byte +- 数据库副本数:不能超过3 +- 用户名:不能超过20个byte +- 用户密码:不能超过15个byte +- 标签(Tags)数量:不能超过128个 +- 标签的总长度:不能超过16Kbyte +- 记录条数:仅受存储空间限制 +- 表的个数:仅受节点个数限制 +- 库的个数:仅受节点个数限制 +- 单个库上虚拟节点个数:不能超过64个 + + + +目前TDengine有将近200个内部保留关键字,这些关键字无论大小写均不可以用作库名、表名、STable名、数据列名及标签列名等。这些关键字列表如下: + +| 关键字列表 | | | | | +| ---------- | ----------- | ------------ | ---------- | --------- | +| ABLOCKS | CONNECTION | GT | MINUS | SHOW | +| ABORT | CONNECTIONS | ID | MNODES | SLASH | +| ACCOUNT | COPY | IF | MODULES | SLIDING | +| ACCOUNTS | COUNT | IGNORE | NCHAR | SMALLINT | +| ADD | CREATE | IMMEDIATE | NE | SPREAD | +| AFTER | CTIME | IMPORT | NONE | STAR | +| ALL | DATABASE | IN | NOT | STATEMENT | +| ALTER | DATABASES | INITIALLY | NOTNULL | STDDEV | +| AND | DAYS | INSERT | NOW | STREAM | +| AS | DEFERRED | INSTEAD | OF | STREAMS | +| ASC | DELIMITERS | INTEGER | OFFSET | STRING | +| ATTACH | DESC | INTERVAL | OR | SUM | +| AVG | DESCRIBE | INTO | ORDER | TABLE | +| BEFORE | DETACH | IP | PASS | TABLES | +| BEGIN | DIFF | IS | PERCENTILE | TAG | +| BETWEEN | DIVIDE | ISNULL | PLUS | TAGS | +| BIGINT | DNODE | JOIN | PRAGMA | TBLOCKS | +| BINARY | DNODES | KEEP | PREV | TBNAME | +| BITAND | DOT | KEY | PRIVILEGE | TIMES | +| BITNOT | DOUBLE | KILL | QUERIES | TIMESTAMP | +| BITOR | DROP | LAST | QUERY | TINYINT | +| BOOL | EACH | LE | RAISE | TOP | +| BOTTOM | END | LEASTSQUARES | REM | TRIGGER | +| BY | EQ | LIKE | REPLACE | UMINUS | +| CACHE | EXISTS | LIMIT | REPLICA | UPLUS | +| CASCADE | EXPLAIN | LINEAR | RESET | USE | +| CHANGE | FAIL | LOCAL | RESTRICT | USER | +| CLOG | FILL | LP | ROW | USERS | +| CLUSTER | FIRST | LSHIFT | ROWS | USING | +| COLON | FLOAT | LT | RP | VALUES | +| COLUMN | FOR | MATCH | RSHIFT | VARIABLE | +| COMMA | FROM | MAX | SCORES | VGROUPS | +| COMP | GE | METRIC | SELECT | VIEW | +| CONCAT | GLOB | METRICS | SEMI | WAVG | +| CONFIGS | GRANTS | MIN | SET | WHERE | +| CONFLICT | GROUP | | | | + diff --git a/documentation20/webdocs/markdowndocs/connector-ch.md b/documentation20/webdocs/markdowndocs/connector-ch.md index c5a955f43fcc30e70d8aac3919433c2e767f76ba..de65740ff9137f94d9008a8972624c3e919c9ed5 100644 --- a/documentation20/webdocs/markdowndocs/connector-ch.md +++ b/documentation20/webdocs/markdowndocs/connector-ch.md @@ -1,6 +1,21 @@ # 连接器 -TDengine提供了丰富的应用程序开发接口,其中包括C/C++、JAVA、Python、RESTful、Go等,便于用户快速开发应用。 +TDengine提供了丰富的应用程序开发接口,其中包括C/C++、C# 、Java、Python、Go、Node.js、RESTful 等,便于用户快速开发应用。 + +![image-connecotr](../assets/connector.png) + +目前TDengine的连接器可支持的平台广泛,目前包括:X64/X86/ARM64/ARM32/MIPS/Alpha等硬件平台,以及Linux/Win64/Win32等开发环境。对照矩阵如下: + +| | **CPU** | **X64 64bit** | **X86 32bit** | **ARM64** | **ARM32** | **MIPS ** **龙芯** | **Alpha ** **申威** | **X64 ** **海光** | | | +| ---------------------------- | --------- | --------------- | --------------- | --------- | --------- | ------------------- | -------------------- | ------------------ | --------- | --------- | +| | **OS** | **Linux** | **Win64** | **Win32** | **Win32** | **Linux** | **Linux** | **Linux** | **Linux** | **Linux** | +| **连** **接** **器** | **C/C++** | ● | ● | ● | ○ | ● | ● | ● | ● | ● | +| **JDBC** | ● | ● | ● | ○ | ● | ● | ● | ● | ● | | +| **Python** | ● | ● | ● | ○ | ● | ● | ● | -- | ● | | +| **Go** | ● | ● | ● | ○ | ● | ● | ○ | -- | -- | | +| **NodeJs** | ● | ● | ○ | ○ | ● | ● | ○ | -- | -- | | +| **C#** | ○ | ● | ● | ○ | ○ | ○ | ○ | -- | -- | | +| **RESTful** | ● | ● | ● | ● | ● | ● | ● | ● | ● | | 注意:所有执行 SQL 语句的 API,例如 C/C++ Connector 中的 `tao_query`、`taos_query_a`、`taos_subscribe` 等,以及其它语言中与它们对应的API,每次都只能执行一条 SQL 语句,如果实际参数中包含了多条语句,它们的行为是未定义的。 @@ -664,23 +679,45 @@ import ( _ "github.com/taosdata/driver-go/taosSql" ) ``` +**建议Go版本是1.13或以上,并开启模块支持:** + +``` +go env -w GO111MODULE=on +go env -w GOPROXY=https://goproxy.io,direct +``` + ### 常用API -* `sql.Open(DRIVER_NAME string, dataSourceName string) *DB` - - 该API用来打开DB,返回一个类型为*DB的对象,一般情况下,DRIVER_NAME设置为字符串`taosSql`, dataSourceName设置为字符串`user:password@/tcp(host:port)/dbname`,如果客户想要用多个goroutine并发访问TDengine, 那么需要在各个goroutine中分别创建一个sql.Open对象并用之访问TDengine - - **注意**: 该API成功创建的时候,并没有做权限等检查,只有在真正执行Query或者Exec的时候才能真正的去创建连接,并同时检查user/password/host/port是不是合法。 另外,由于整个驱动程序大部分实现都下沉到taosSql所依赖的libtaos中。所以,sql.Open本身特别轻量。 - -* `func (db *DB) Exec(query string, args ...interface{}) (Result, error)` + +- sql.Open(DRIVER_NAME string, dataSourceName string) *DB` + + 该API用来打开DB,返回一个类型为*DB的对象,一般情况下,DRIVER_NAME设置为字符串`taosSql`, dataSourceName设置为字符串`user:password@/tcp(host:port)/dbname`,如果客户想要用多个goroutine并发访问TDengine, 那么需要在各个goroutine中分别创建一个sql.Open对象并用之访问TDengine + + **注意**: 该API成功创建的时候,并没有做权限等检查,只有在真正执行Query或者Exec的时候才能真正的去创建连接,并同时检查user/password/host/port是不是合法。 另外,由于整个驱动程序大部分实现都下沉到taosSql所依赖的libtaos中。所以,sql.Open本身特别轻量。 + +- `func (db *DB) Exec(query string, args ...interface{}) (Result, error)` sql.Open内置的方法,用来执行非查询相关SQL - - -* `func (db *DB) Query(query string, args ...interface{}) (*Rows, error)` - + +- `func (db *DB) Query(query string, args ...interface{}) (*Rows, error)` + sql.Open内置的方法,用来执行查询语句 - - + +- `func (db *DB) Prepare(query string) (*Stmt, error)` + + sql.Open内置的方法,Prepare creates a prepared statement for later queries or executions. + +- `func (s *Stmt) Exec(args ...interface{}) (Result, error)` + + sql.Open内置的方法,executes a prepared statement with the given arguments and returns a Result summarizing the effect of the statement. + +- `func (s *Stmt) Query(args ...interface{}) (*Rows, error)` + + sql.Open内置的方法,Query executes a prepared query statement with the given arguments and returns the query results as a *Rows. + +- `func (s *Stmt) Close() error` + + sql.Open内置的方法,Close closes the statement. + ## Node.js Connector TDengine 同时也提供了node.js 的连接器。用户可以通过[npm](https://www.npmjs.com/)来进行安装,也可以通过源代码*src/connector/nodejs/* 来进行安装。[具体安装步骤如下](https://github.com/taosdata/tdengine/tree/master/src/connector/nodejs): @@ -701,32 +738,6 @@ npm install td2.0-connector - `make` - c语言编译器比如[GCC](https://gcc.gnu.org) -### macOS - -- `python` (建议`v2.7` , `v3.x.x` 目前还不支持) - -- Xcode - - - 然后通过Xcode安装 - - ``` - Command Line Tools - ``` - - 在 - ``` - Xcode -> Preferences -> Locations - ``` - - 目录下可以找到这个工具。或者在终端里执行 - - ``` - xcode-select --install - ``` - - - - 该步执行后 `gcc` 和 `make`就被安装上了 - ### Windows #### 安装方法1 diff --git a/documentation20/webdocs/markdowndocs/connector-java-ch.md b/documentation20/webdocs/markdowndocs/connector-java-ch.md index e3743f4f9de727f396e343abac6234f10265cd78..bc8a8d41163d49def82b6f69761a8eafe9b68301 100644 --- a/documentation20/webdocs/markdowndocs/connector-java-ch.md +++ b/documentation20/webdocs/markdowndocs/connector-java-ch.md @@ -1,5 +1,7 @@ # Java Connector +Java连接器支持的系统有: Linux 64/Windows x64/Windows x86。 + TDengine 为了方便 Java 应用使用,提供了遵循 JDBC 标准(3.0)API 规范的 `taos-jdbcdriver` 实现。目前可以通过 [Sonatype Repository][1] 搜索并下载。 由于 TDengine 是使用 c 语言开发的,使用 taos-jdbcdriver 驱动包时需要依赖系统对应的本地函数库。 @@ -24,7 +26,7 @@ TDengine 的 JDBC 驱动实现尽可能的与关系型数据库驱动保持一 | taos-jdbcdriver 版本 | TDengine 版本 | JDK 版本 | | --- | --- | --- | -| 2.0.4 | 2.0.0.x 及以上 | 1.8.x | +| 2.0.15 - 2.0.4 | 2.0.0.x 及以上 | 1.8.x | | 1.0.3 | 1.6.1.x 及以上 | 1.8.x | | 1.0.2 | 1.6.1.x 及以上 | 1.8.x | | 1.0.1 | 1.6.1.x 及以上 | 1.8.x | diff --git a/documentation20/webdocs/markdowndocs/insert-ch.md b/documentation20/webdocs/markdowndocs/insert-ch.md index 77ba596d4ec6de76a39b878e57ea255b081fea45..b303d0d5fbb9e2d7435efb3e509b46bad4c8910b 100644 --- a/documentation20/webdocs/markdowndocs/insert-ch.md +++ b/documentation20/webdocs/markdowndocs/insert-ch.md @@ -24,7 +24,7 @@ INSERT INTO d1001 VALUES (1538548685000, 10.3, 219, 0.31) (1538548695000, 12.6, - 要提高写入效率,需要批量写入。一批写入的记录条数越多,插入效率就越高。但一条记录不能超过16K,一条SQL语句总长度不能超过64K(可通过参数maxSQLLength配置,最大可配置为1M)。 - TDengine支持多线程同时写入,要进一步提高写入速度,一个客户端需要打开20个以上的线程同时写。但线程数达到一定数量后,无法再提高,甚至还会下降,因为线程切频繁切换,带来额外开销。 -- 对同一张表,如果新插入记录的时间戳已经存在,新记录将被直接抛弃,也就是说,在一张表里,时间戳必须是唯一的。如果应用自动生成记录,很有可能生成的时间戳是一样的,这样,成功插入的记录条数会小于应用插入的记录条数。 +- 对同一张表,如果新插入记录的时间戳已经存在,默认(没有使用 UPDATE 1 创建数据库)新记录将被直接抛弃,也就是说,在一张表里,时间戳必须是唯一的。如果应用自动生成记录,很有可能生成的时间戳是一样的,这样,成功插入的记录条数会小于应用插入的记录条数。如果在创建数据库时使用 UPDATE 1 选项,插入相同时间戳的新记录将覆盖原有记录。 - 写入的数据的时间戳必须大于当前时间减去配置参数keep的时间。如果keep配置为3650天,那么无法写入比3650天还老的数据。写入数据的时间戳也不能大于当前时间加配置参数days。如果days配置为2,那么无法写入比当前时间还晚2天的数据。 ## Prometheus直接写入