TDengine 文档

TDengine 是一个高效的存储、查询、分析时序大数据的平台,专为物联网、车联网、工业互联网、运维监测等优化而设计。您可以像使用关系型数据库 MySQL 一样来使用它,但建议您在使用前仔细阅读一遍下面的文档,特别是 数据模型 与 数据建模。除本文档之外,欢迎 下载产品白皮书。

TDengine 介绍

TDengine 简介及特色

TDengine 适用场景

TDengine 性能指标介绍和验证方法

立即开始

快捷安装:可通过源码、安装包或 Docker 安装,三秒钟搞定

轻松启动:使用 systemctl 启停 TDengine

命令行程序 TAOS:访问 TDengine 的简便方式

极速体验:运行示例程序,快速体验高效的数据插入、查询

支持平台列表:TDengine 服务器和客户端支持的平台列表

Kubernetes 部署:TDengine 在 Kubernetes 环境进行部署的详细说明

整体架构

数据模型:关系型数据库模型,但要求每个采集点单独建表

集群与基本逻辑单元:吸取 NoSQL 优点,支持水平扩展,支持高可靠

存储模型与数据分区、分片:标签数据与时序数据完全分离,按 VNode 和时间两个维度对数据切分

数据写入与复制流程:先写入 WAL、之后写入缓存,再给应用确认,支持多副本

缓存与持久化:最新数据缓存在内存中,但落盘时采用列式存储、超高压缩比

数据查询:支持各种函数、时间轴聚合、插值、多表聚合

数据建模

创建库:为具有相似数据特征的数据采集点创建一个库

创建超级表:为同一类型的数据采集点创建一个超级表

创建表:使用超级表做模板,为每一个具体的数据采集点单独建表

TAOS SQL

支持的数据类型:支持时间戳、整型、浮点型、布尔型、字符型等多种数据类型

数据库管理:添加、删除、查看数据库

表管理:添加、删除、查看、修改表

超级表管理:添加、删除、查看、修改超级表

标签管理:增加、删除、修改标签

数据写入:支持单表单条、多条、多表多条写入,支持历史数据写入

数据查询:支持时间段、值过滤、排序、嵌套查询、Union、Join、查询结果手动分页等

SQL 函数:支持各种聚合函数、选择函数、计算函数,如 AVG, MIN, DIFF 等

窗口切分聚合:将表中数据按照时间段等方式进行切割后聚合,降维处理

边界限制:库、表、SQL 等边界限制条件

UDF:用户定义函数的创建和管理方法

错误码:TDengine 2.0 错误码以及对应的十进制码

高效写入数据

SQL 写入:使用 SQL INSERT 命令向一张或多张表写入单条或多条记录

Schemaless 写入:免于预先建表,将数据直接写入时自动维护元数据结构

Prometheus 写入:配置 Prometheus, 不用任何代码,将数据直接写入

Telegraf 写入:配置 Telegraf, 不用任何代码,将采集数据直接写入

collectd 直接写入:配置 collectd,不用任何代码,将采集数据直接写入

StatsD 直接写入:配置 StatsD,不用任何代码,将采集数据直接写入

EMQX Broker:配置 EMQX,不用任何代码,就可将 MQTT 数据直接写入

HiveMQ Broker:配置 HiveMQ,不用任何代码,就可将 MQTT 数据直接写入

高效查询数据

主要查询功能:支持各种标准函数,设置过滤条件,时间段查询

多表聚合查询:使用超级表,设置标签过滤条件,进行高效聚合查询

降采样查询值:按时间段分段聚合,支持插值

高级功能

连续查询(Continuous Query):基于滑动窗口,定时自动的对数据流进行查询计算

数据订阅(Publisher/Subscriber):类似典型的消息队列,应用可订阅接收到的最新数据

缓存(Cache):每个设备最新的数据都会缓存在内存中,可快速获取

连接器

C/C++ Connector:通过 libtaos 客户端的库,连接 TDengine 服务器的主要方法

Java Connector(JDBC):通过标准的 JDBC API,给 Java 应用提供到 TDengine 的连接

Python Connector:给 Python 应用提供一个连接 TDengine 服务器的驱动

RESTful Connector:提供一最简单的连接 TDengine 服务器的方式

Go Connector:给 Go 应用提供一个连接 TDengine 服务器的驱动

Node.js Connector:给 Node.js 应用提供一个连接 TDengine 服务器的驱动

C# Connector:给 C# 应用提供一个连接 TDengine 服务器的驱动

Windows 客户端:自行编译 Windows 客户端,Windows 环境的各种连接器都需要它

Rust Connector: Rust 语言下通过 libtaos 客户端或 RESTful 接口,连接 TDengine 服务器。

PHP Connector: 给 PHP 应用提供一个连接 TDengine 服务器的驱动,或 RESTful 接口,连接 TDengine 服务器。

TDengine 组件与工具

taosAdapter: TDengine 集群和应用之间的 RESTful 接口适配服务。

TDinsight: 监控 TDengine 集群的 Grafana 面板集合。

taosTools: taosTools 是用于 TDengine 的辅助工具软件集合。。

taosdump: TDengine 数据备份工具。使用 taosdump 请安装 taosTools。

taosBenchmark: TDengine 压力测试工具。

与其他工具的连接

Grafana:获取并可视化保存在 TDengine 的数据

IDEA Database:通过 IDEA 数据库管理工具可视化使用 TDengine

TDengineGUI:基于 Electron 开发的跨平台 TDengine 图形化管理工具

DataX:支持 TDengine 和其他数据库之间进行数据迁移的工具

Awesome TDengine:与 TDengine 有关的精彩项目精选清单

TDengine 集群的安装、管理

准备工作:部署环境前的几点注意事项

创建第一个节点:与快捷安装完全一样,非常简单

创建后续节点:配置新节点的 taos.cfg, 在现有集群添加新的节点

节点管理:增加、删除、查看集群的节点

VNode 的高可用性:通过多副本的机制来提供 VNode 的高可用性

MNode 的管理:系统自动创建、无需任何人工干预

负载均衡:一旦节点个数或负载有变化,自动进行

节点离线处理:节点离线超过一定时长,将从集群中剔除

Arbitrator:对于偶数个副本的情形,使用它可以防止脑裂(Split-brain)问题

TDengine 的运营和维护

容量规划:根据场景,估算硬件资源

容错和灾备:设置正确的 WAL 和数据副本数

系统配置:端口,缓存大小,文件块大小和其他系统配置

用户管理:添加、删除 TDengine 用户,修改用户密码

数据导入:可按脚本文件导入,也可按数据文件导入

数据导出:从 Shell 按表导出,也可用 taosdump 工具做各种导出

系统连接、任务查询管理:检查系统现有的连接、查询、流式计算,日志和事件等

系统监控:系统监控,使用 TDinsight 进行集群监控等

性能优化:对长期运行的系统进行维护优化,保障性能表现

文件目录结构:TDengine 数据文件、配置文件等所在目录

参数限制与保留关键字:TDengine 的参数限制与保留关键字列表

TDengine 的技术设计

系统模块:taosd 的功能和模块划分

数据复制:支持实时同步、异步复制,保证系统的高可用性

技术博客:更多的技术分析和架构设计文章

应用 TDengine 快速搭建 IT 运维系统

DevOps:使用 TDengine + Telegraf + Grafana 快速搭建 IT 运维系统

DevOps:使用 TDengine + collectd/StatsD + Grafana 快速搭建 IT 运维系统

最佳实践:OpenTSDB 应用迁移到 TDengine 的最佳实践

TDengine 与其他数据库的对比测试

用 InfluxDB 开源的性能测试工具对比 InfluxDB 和 TDengine

TDengine 与 OpenTSDB 对比测试

TDengine 与 Cassandra 对比测试

TDengine 与 InfluxDB 对比测试

TDengine 与 InfluxDB、OpenTSDB、Cassandra、MySQL、ClickHouse 等数据库的对比测试报告

物联网大数据

物联网、工业互联网大数据的特点

物联网大数据平台应具备的功能和特点

通用大数据架构为什么不适合处理物联网数据?

物联网、车联网、工业互联网大数据平台,为什么推荐使用 TDengine?

培训和 FAQ

FAQ:常见问题与答案

技术公开课:开源、高效的物联网大数据平台,TDengine 内核技术剖析

TDengine 视频教程 - 快速上手

TDengine 视频教程 - 数据建模

TDengine 视频教程 - 集群搭建

TDengine 视频教程 - Go Connector

TDengine 视频教程 - JDBC Connector

TDengine 视频教程 - Node.js Connector

TDengine 视频教程 - Python Connector

TDengine 视频教程 - RESTful Connector

TDengine 视频教程 - “零”代码运维监控

应用案例:一些使用实例来解释如何使用 TDengine


水浒张清的绰号
坦克游戏哪些值得玩 十大必玩坦克游戏精选