Merge branch '3.3.6' into merge/3.0to3.3.6

This commit is contained in:
Simon Guan 2025-03-23 21:35:19 +08:00
commit a2e0d9ab97
7 changed files with 192 additions and 10 deletions

View File

@ -41,23 +41,23 @@
# 1. 简介
TDengine 是一款开源、高性能、云原生、AI驱动的时序数据库 (Time-Series Database, TSDB)。TDengine 能被广泛运用于物联网、工业互联网、车联网、IT 运维、金融等领域。除核心的时序数据库功能外TDengine 还提供缓存、数据订阅、流式计算、AI智能体等功能是一极简的时序数据处理平台最大程度的减小系统设计的复杂度降低研发和运营成本。与其他时序数据库相比TDengine 的主要优势如下:
TDengine 是一款开源、高性能、云原生、AI 驱动的时序数据库 (Time-Series Database, TSDB)。TDengine 能被广泛运用于物联网、工业互联网、车联网、IT 运维、金融等领域。除核心的时序数据库功能外TDengine 还提供缓存、数据订阅、流式计算、AI 智能体等功能是一极简的时序数据处理平台最大程度的减小系统设计的复杂度降低研发和运营成本。与其他时序数据库相比TDengine 的主要优势如下:
- **高性能**通过创新的存储引擎设计无论是数据写入还是查询TDengine 的性能比通用数据库快 10 倍以上,也远超其他时序数据库,存储空间不及通用数据库的 1/10。
- **云原生**通过原生分布式的设计充分利用云平台的优势TDengine 提供了水平扩展能力,具备弹性、韧性和可观测性,支持 k8s 部署,可运行在公有云、私有云和混合云上。
- **极简时序数据平台**TDengine 内建消息队列、缓存、流式计算、AI智能体等功能应用无需再集成 Kafka/Redis/HBase/Spark 等软件,大幅降低系统的复杂度,降低应用开发和运营成本。
- **极简时序数据平台**TDengine 内建消息队列、缓存、流式计算、AI 智能体等功能,应用无需再集成 Kafka/Redis/HBase/Spark 等软件,大幅降低系统的复杂度,降低应用开发和运营成本。
- **分析能力**:支持 SQL同时为时序数据特有的分析提供SQL扩展。通过超级表、存储计算分离、分区分片、预计算、自定义函数以及AI Agent等技术TDengine 具备强大的分析能力。
- **分析能力**:支持 SQL同时为时序数据特有的分析提供 SQL 扩展。通过超级表、存储计算分离、分区分片、预计算、自定义函数以及 AI Agent 等技术TDengine 具备强大的分析能力。
- **AI智能体**内置时序数据智能体TDgpt, 无缝连接时序数据基础模型、大语言模型、机器学习、传统统计算法等,提供时序数据预测、异常检测、数据补全和数据分类的功能。
- **AI智能体**:内置时序数据智能体 TDgpt, 无缝连接时序数据基础模型、大语言模型、机器学习、传统统计算法等,提供时序数据预测、异常检测、数据补全和数据分类的功能。
- **简单易用**无任何依赖安装、集群几秒搞定提供REST以及各种语言连接器与众多第三方工具无缝集成提供命令行程序便于管理和即席查询提供各种运维工具。
- **简单易用**:无任何依赖,安装、集群几秒搞定;提供 REST 以及各种语言连接器,与众多第三方工具无缝集成;提供命令行程序,便于管理和即席查询;提供各种运维工具。
- **核心开源**TDengine 的核心代码包括集群功能全部开源,截止到 2022 年 8 月 1 日,全球超过 135.9k 个运行实例GitHub Star 18.7kFork 4.4k,社区活跃。
了解TDengine高级功能的完整列表请 [点击](https://tdengine.com/tdengine/)。体验 TDengine 最简单的方式是通过 [TDengine云平台](https://cloud.tdengine.com)。对最新发布的TDengine 组件 TDgpt请访问[TDgpt README](./tools/tdgpt/README.md) 了解细节。
了解TDengine高级功能的完整列表请 [点击](https://tdengine.com/tdengine/)。体验 TDengine 最简单的方式是通过 [TDengine云平台](https://cloud.tdengine.com)。对最新发布的 TDengine 组件 TDgpt请访问 [TDgpt README](./tools/tdgpt/README.md) 了解细节。
# 2. 文档

View File

@ -140,7 +140,7 @@ gen_figure = true
```
对比程序执行完成以后,会自动生成名称为`fc_result.xlsx` 的文件,第一个卡片是算法运行结果(如下表所示),分别包含了算法名称、执行调用参数、均方误差、执行时间 4 个指标。
对比程序执行完成以后,会自动生成名称为 `fc_result.xlsx` 的文件,第一个卡片是算法运行结果(如下表所示),分别包含了算法名称、执行调用参数、均方误差、执行时间 4 个指标。
| algorithm | params | MSE | elapsed_time(ms.) |
| ----------- | ------------------------------------------------------------------------- | ------- | ----------------- |

View File

@ -98,9 +98,7 @@ grubbs={}
lof={"algorithm":"auto", "n_neighbor": 3}
```
对比程序执行完成以后,会自动生成名称为`ad_result.xlsx` 的文件,第一个卡片是算法运行结果(如下表所示),分别包含了算法名称、执行调用参数、查全率、查准率、执行时间 5 个指标。
对比程序执行完成以后,会自动生成名称为 `ad_result.xlsx` 的文件,第一个卡片是算法运行结果(如下表所示),分别包含了算法名称、执行调用参数、查全率、查准率、执行时间 5 个指标。
| algorithm | params | precision(%) | recall(%) | elapsed_time(ms.) |
| --------- | -------------------------------------- | ------------ | --------- | ----------------- |

View File

@ -0,0 +1,23 @@
create database if not exists test keep 36500;
use test;
drop table if exists ad_sample;
create table if not exists ad_sample(ts timestamp, val int);
insert into ad_sample values(1577808000000, 5);
insert into ad_sample values(1577808001000, 14);
insert into ad_sample values(1577808002000, 15);
insert into ad_sample values(1577808003000, 15);
insert into ad_sample values(1577808004000, 14);
insert into ad_sample values(1577808005000, 19);
insert into ad_sample values(1577808006000, 17);
insert into ad_sample values(1577808007000, 16);
insert into ad_sample values(1577808008000, 20);
insert into ad_sample values(1577808009000, 22);
insert into ad_sample values(1577808010000, 8);
insert into ad_sample values(1577808011000, 21);
insert into ad_sample values(1577808012000, 28);
insert into ad_sample values(1577808013000, 11);
insert into ad_sample values(1577808014000, 9);
insert into ad_sample values(1577808015000, 29);
insert into ad_sample values(1577808016000, 40);

View File

@ -0,0 +1,150 @@
create database if not exists test keep 36500;
use test;
drop table if exists passengers;
create table if not exists passengers(ts timestamp, val int);
insert into passengers values("1949-01-01 00:00:00",112);
insert into passengers values("1949-02-01 00:00:00",118);
insert into passengers values("1949-03-01 00:00:00",132);
insert into passengers values("1949-04-01 00:00:00",129);
insert into passengers values("1949-05-01 00:00:00",121);
insert into passengers values("1949-06-01 00:00:00",135);
insert into passengers values("1949-07-01 00:00:00",148);
insert into passengers values("1949-08-01 00:00:00",148);
insert into passengers values("1949-09-01 00:00:00",136);
insert into passengers values("1949-10-01 00:00:00",119);
insert into passengers values("1949-11-01 00:00:00",104);
insert into passengers values("1949-12-01 00:00:00",118);
insert into passengers values("1950-01-01 00:00:00",115);
insert into passengers values("1950-02-01 00:00:00",126);
insert into passengers values("1950-03-01 00:00:00",141);
insert into passengers values("1950-04-01 00:00:00",135);
insert into passengers values("1950-05-01 00:00:00",125);
insert into passengers values("1950-06-01 00:00:00",149);
insert into passengers values("1950-07-01 00:00:00",170);
insert into passengers values("1950-08-01 00:00:00",170);
insert into passengers values("1950-09-01 00:00:00",158);
insert into passengers values("1950-10-01 00:00:00",133);
insert into passengers values("1950-11-01 00:00:00",114);
insert into passengers values("1950-12-01 00:00:00",140);
insert into passengers values("1951-01-01 00:00:00",145);
insert into passengers values("1951-02-01 00:00:00",150);
insert into passengers values("1951-03-01 00:00:00",178);
insert into passengers values("1951-04-01 00:00:00",163);
insert into passengers values("1951-05-01 00:00:00",172);
insert into passengers values("1951-06-01 00:00:00",178);
insert into passengers values("1951-07-01 00:00:00",199);
insert into passengers values("1951-08-01 00:00:00",199);
insert into passengers values("1951-09-01 00:00:00",184);
insert into passengers values("1951-10-01 00:00:00",162);
insert into passengers values("1951-11-01 00:00:00",146);
insert into passengers values("1951-12-01 00:00:00",166);
insert into passengers values("1952-01-01 00:00:00",171);
insert into passengers values("1952-02-01 00:00:00",180);
insert into passengers values("1952-03-01 00:00:00",193);
insert into passengers values("1952-04-01 00:00:00",181);
insert into passengers values("1952-05-01 00:00:00",183);
insert into passengers values("1952-06-01 00:00:00",218);
insert into passengers values("1952-07-01 00:00:00",230);
insert into passengers values("1952-08-01 00:00:00",242);
insert into passengers values("1952-09-01 00:00:00",209);
insert into passengers values("1952-10-01 00:00:00",191);
insert into passengers values("1952-11-01 00:00:00",172);
insert into passengers values("1952-12-01 00:00:00",194);
insert into passengers values("1953-01-01 00:00:00",196);
insert into passengers values("1953-02-01 00:00:00",196);
insert into passengers values("1953-03-01 00:00:00",236);
insert into passengers values("1953-04-01 00:00:00",235);
insert into passengers values("1953-05-01 00:00:00",229);
insert into passengers values("1953-06-01 00:00:00",243);
insert into passengers values("1953-07-01 00:00:00",264);
insert into passengers values("1953-08-01 00:00:00",272);
insert into passengers values("1953-09-01 00:00:00",237);
insert into passengers values("1953-10-01 00:00:00",211);
insert into passengers values("1953-11-01 00:00:00",180);
insert into passengers values("1953-12-01 00:00:00",201);
insert into passengers values("1954-01-01 00:00:00",204);
insert into passengers values("1954-02-01 00:00:00",188);
insert into passengers values("1954-03-01 00:00:00",235);
insert into passengers values("1954-04-01 00:00:00",227);
insert into passengers values("1954-05-01 00:00:00",234);
insert into passengers values("1954-06-01 00:00:00",264);
insert into passengers values("1954-07-01 00:00:00",302);
insert into passengers values("1954-08-01 00:00:00",293);
insert into passengers values("1954-09-01 00:00:00",259);
insert into passengers values("1954-10-01 00:00:00",229);
insert into passengers values("1954-11-01 00:00:00",203);
insert into passengers values("1954-12-01 00:00:00",229);
insert into passengers values("1955-01-01 00:00:00",242);
insert into passengers values("1955-02-01 00:00:00",233);
insert into passengers values("1955-03-01 00:00:00",267);
insert into passengers values("1955-04-01 00:00:00",269);
insert into passengers values("1955-05-01 00:00:00",270);
insert into passengers values("1955-06-01 00:00:00",315);
insert into passengers values("1955-07-01 00:00:00",364);
insert into passengers values("1955-08-01 00:00:00",347);
insert into passengers values("1955-09-01 00:00:00",312);
insert into passengers values("1955-10-01 00:00:00",274);
insert into passengers values("1955-11-01 00:00:00",237);
insert into passengers values("1955-12-01 00:00:00",278);
insert into passengers values("1956-01-01 00:00:00",284);
insert into passengers values("1956-02-01 00:00:00",277);
insert into passengers values("1956-03-01 00:00:00",317);
insert into passengers values("1956-04-01 00:00:00",313);
insert into passengers values("1956-05-01 00:00:00",318);
insert into passengers values("1956-06-01 00:00:00",374);
insert into passengers values("1956-07-01 00:00:00",413);
insert into passengers values("1956-08-01 00:00:00",405);
insert into passengers values("1956-09-01 00:00:00",355);
insert into passengers values("1956-10-01 00:00:00",306);
insert into passengers values("1956-11-01 00:00:00",271);
insert into passengers values("1956-12-01 00:00:00",306);
insert into passengers values("1957-01-01 00:00:00",315);
insert into passengers values("1957-02-01 00:00:00",301);
insert into passengers values("1957-03-01 00:00:00",356);
insert into passengers values("1957-04-01 00:00:00",348);
insert into passengers values("1957-05-01 00:00:00",355);
insert into passengers values("1957-06-01 00:00:00",422);
insert into passengers values("1957-07-01 00:00:00",465);
insert into passengers values("1957-08-01 00:00:00",467);
insert into passengers values("1957-09-01 00:00:00",404);
insert into passengers values("1957-10-01 00:00:00",347);
insert into passengers values("1957-11-01 00:00:00",305);
insert into passengers values("1957-12-01 00:00:00",336);
insert into passengers values("1958-01-01 00:00:00",340);
insert into passengers values("1958-02-01 00:00:00",318);
insert into passengers values("1958-03-01 00:00:00",362);
insert into passengers values("1958-04-01 00:00:00",348);
insert into passengers values("1958-05-01 00:00:00",363);
insert into passengers values("1958-06-01 00:00:00",435);
insert into passengers values("1958-07-01 00:00:00",491);
insert into passengers values("1958-08-01 00:00:00",505);
insert into passengers values("1958-09-01 00:00:00",404);
insert into passengers values("1958-10-01 00:00:00",359);
insert into passengers values("1958-11-01 00:00:00",310);
insert into passengers values("1958-12-01 00:00:00",337);
insert into passengers values("1959-01-01 00:00:00",360);
insert into passengers values("1959-02-01 00:00:00",342);
insert into passengers values("1959-03-01 00:00:00",406);
insert into passengers values("1959-04-01 00:00:00",396);
insert into passengers values("1959-05-01 00:00:00",420);
insert into passengers values("1959-06-01 00:00:00",472);
insert into passengers values("1959-07-01 00:00:00",548);
insert into passengers values("1959-08-01 00:00:00",559);
insert into passengers values("1959-09-01 00:00:00",463);
insert into passengers values("1959-10-01 00:00:00",407);
insert into passengers values("1959-11-01 00:00:00",362);
insert into passengers values("1959-12-01 00:00:00",405);
insert into passengers values("1960-01-01 00:00:00",417);
insert into passengers values("1960-02-01 00:00:00",391);
insert into passengers values("1960-03-01 00:00:00",419);
insert into passengers values("1960-04-01 00:00:00",461);
insert into passengers values("1960-05-01 00:00:00",472);
insert into passengers values("1960-06-01 00:00:00",535);
insert into passengers values("1960-07-01 00:00:00",622);
insert into passengers values("1960-08-01 00:00:00",606);
insert into passengers values("1960-09-01 00:00:00",508);
insert into passengers values("1960-10-01 00:00:00",461);
insert into passengers values("1960-11-01 00:00:00",390);
insert into passengers values("1960-12-01 00:00:00",432);

View File

@ -22,6 +22,7 @@ emailName="taosdata.com"
tarName="package.tar.gz"
logDir="/var/log/${PREFIX}/${PRODUCTPREFIX}"
moduleDir="/var/lib/${PREFIX}/${PRODUCTPREFIX}/model"
resourceDir="/var/lib/${PREFIX}/${PRODUCTPREFIX}/resource"
venvDir="/var/lib/${PREFIX}/${PRODUCTPREFIX}/venv"
global_conf_dir="/etc/${PREFIX}"
installDir="/usr/local/${PREFIX}/${PRODUCTPREFIX}"
@ -376,6 +377,13 @@ function install_module() {
${csudo}ln -sf ${moduleDir} ${install_main_dir}/model
}
function install_resource() {
${csudo}mkdir -p ${resourceDir} && ${csudo}chmod 777 ${resourceDir}
${csudo}ln -sf ${resourceDir} ${install_main_dir}/resource
${csudo}cp ${script_dir}/resource/*.sql ${install_main_dir}/resource/
}
function install_anode_venv() {
${csudo}mkdir -p ${venvDir} && ${csudo}chmod 777 ${venvDir}
${csudo}ln -sf ${venvDir} ${install_main_dir}/venv
@ -620,6 +628,7 @@ function updateProduct() {
install_main_path
install_log
install_module
install_resource
install_config
if [ -z $1 ]; then
@ -668,6 +677,7 @@ function installProduct() {
install_log
install_anode_config
install_module
install_resource
install_bin_and_lib
if ! is_container; then

View File

@ -51,6 +51,7 @@ install_files="${script_dir}/install.sh"
# make directories.
mkdir -p ${install_dir}
mkdir -p ${install_dir}/cfg && cp ${cfg_dir}/${configFile} ${install_dir}/cfg/${configFile}
mkdir -p ${install_dir}/resource && cp ${top_dir}/resource/* ${install_dir}/resource/
if [ -f "${cfg_dir}/${serverName}.service" ]; then
cp ${cfg_dir}/${serverName}.service ${install_dir}/cfg || :