# TDengine文档

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

## 立即开始

- 快速上手：下载、安装、体验，三秒钟搞定
- TDengine命令行程序：访问TDengine的简便方式
- 主要功能：插入、查询、聚合、分析、缓存、订阅、流式计算等等

## 数据模型和设计

- 数据模型：关系型数据库模型，但要求每个采集设备单独建表
- 主要模块：包含管理节点、数据节点和客户端，数据节点支持虚拟化
- 写入流程：先写入WAL、之后写入缓存，再给应用确认
- 数据存储：数据按时间段切片、采取列存、不同数据类型不同压缩算法

## TAOS SQL

- 支持的数据类型：支持时间戳、整型、浮点型、布尔型、字符型等多种数据类型
- 数据库管理：添加、删除、查看数据库
- 表管理：添加、删除、查看、修改表
- 数据写入：支持单表单条、多条、多表多条写入，支持历史数据写入
- 数据查询：支持时间段、值过滤、排序、查询结果手动分页等
- SQL函数：支持各种聚合函数、选择函数、计算函数，如avg, min, diff等
- 时间维度聚合：将表中数据按照时间段进行切割后聚合，降维处理

## 超级表STable：多表聚合

- 什么是超级表：一种创新的方式来管理和聚合同一类设备
- 超级表管理：创建/删除、改变超级表
- 写数据时自动建子表：用超级表做模板，自动建表
- STable中TAG管理：增加、删除、修改超级表或表的标签
- STable多表聚合：通过设置标签过滤条件，将一组表进行聚合
- STable使用示例：解释超级表的使用

## 高级功能

- 连续查询(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应用提供一个链接TDengine服务器的驱动

## 与其他工具的连接

- Telegraf：将DevOps采集的数据发送到TDengine
- Grafana：获取并可视化保存在TDengine的数据
- Matlab：通过配置Matlab的JDBC数据源访问保存在TDengine的数据
- R：通过配置R的JDBC数据源访问保存在TDengine的数据

## 系统管理

- 文件目录结构：TDengine数据文件、配置文件等所在目录
- 服务端配置：端口，缓存大小，文件块大小和其他系统配置
- 客户端配置：字符集、链接IP地址、缺省用户名、密码等配置
- 用户管理：添加、删除TDengine用户，修改用户密码
- 数据导入：可按脚本文件导入，也可按数据文件导入
- 数据导出：从shell按表导出，也可用taosdump工具做各种导出
- 系统连接、任务查询管理：查询或停止现有的连接、查询和流式计算
- 系统监控：检查系统现有的连接、查询、流式计算，日志和事件等

## TDengine的技术设计

- 存储设计：为时序数据专门优化设计的列式存储格式
- 查询处理：高效的查询计算时序数据的方法
- 集群设计：吸取NoSQL的优点，支持高可靠，支持线性扩展
- 技术博客：更多的技术分析和架构设计文章

## 培训和FAQ

- FAQ：常见问题与答案
- 应用案列：一些使用实例来解释如何使用TDengine

回去