Merge branch '3.3.6' into merge/3.0to3.3.6
This commit is contained in:
commit
a2e0d9ab97
12
README-CN.md
12
README-CN.md
|
@ -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.7k,Fork 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. 文档
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ gen_figure = true
|
|||
```
|
||||
|
||||
|
||||
对比程序执行完成以后,会自动生成名称为`fc_result.xlsx` 的文件,第一个卡片是算法运行结果(如下表所示),分别包含了算法名称、执行调用参数、均方误差、执行时间 4 个指标。
|
||||
对比程序执行完成以后,会自动生成名称为 `fc_result.xlsx` 的文件,第一个卡片是算法运行结果(如下表所示),分别包含了算法名称、执行调用参数、均方误差、执行时间 4 个指标。
|
||||
|
||||
| algorithm | params | MSE | elapsed_time(ms.) |
|
||||
| ----------- | ------------------------------------------------------------------------- | ------- | ----------------- |
|
||||
|
|
|
@ -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.) |
|
||||
| --------- | -------------------------------------- | ------------ | --------- | ----------------- |
|
||||
|
|
|
@ -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);
|
|
@ -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);
|
|
@ -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
|
||||
|
|
|
@ -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 || :
|
||||
|
|
Loading…
Reference in New Issue