当前位置: 首页 > news >正文

时序数据库TDengine用法

官方中文文档: https://docs.taosdata.com/

1、ubuntu24 安装TDengine

      添加软件仓库:

        wget -qO - http://repos.taosdata.com/tdengine.key | sudo gpg --dearmor -o /etc/apt/keyrings/tdengine-keyring.gpg

        echo "deb [signed-by=/etc/apt/keyrings/tdengine-keyring.gpg arch=amd64] http://repos.taosdata.com/tdengine-stable stable main" | sudo tee /etc/apt/sources.list.d/tdengine-stable.list

    安装:

         sudo apt update

         sudo apt install tdengine-tsdb

    启动:

         sudo systemctl start taosd

         sudo systemctl start taosadapter

    查看运行状态:        

         systemctl status taosd

2、连接 TDengine

      我使用DBeaver 连接TDengine,默认的账号密码是 root/taosdata,端口默认6041;

3、概念说明:

      时序数据库和传统的关系型数据库在 数据库、表、字段 等含义上是相同的,在用法上有些不一样:

         库:在创建库时可以执行数据的有效期、多少天的数据保存在一个文件中、内存池大小等;

         表:分为超级表和子表,超级表是定义了一个表模板,一个超级表可以创建N个子表,子表的列和超级表完全一致;超级表定义模板、子表存储数据;

4、TDengine 常用语法

      建库:CREATE DATABASE power PRECISION 'ms' KEEP 3650 DURATION 10 BUFFER 16;

      也可以不指定这些参数,以下这些值默认值;

  •  PRECISION 'ms' :这个数据库的时序数据使用毫秒(ms)精度的时间戳
  •  KEEP 3650:这个库的数据将保留 3650 天,超过 3650 天的数据将被自动删除
  •  DURATION 10 :每 10 天的数据放在一个数据文件中
  •  BUFFER 16 :写入使用大小为 16MB 的内存池。

      建超级表:

        CREATE STABLE meters (
            ts timestamp,
            current float,
            voltage int,
            phase float
        ) TAGS (
            location varchar(64),
            group_id int
        );

        创建子表,USING meters (location,group_id) 表示使用超级表的列名列表,TAGS用于给这个子表打标签:

            CREATE TABLE d1001 
            USING meters (
                location,
                group_id
            ) TAGS (
                "California.SanFrancisco", 
                2
            );

         插入数据,子表不存在自动创建:

        INSERT INTO d1002
        USING meters
        TAGS (
            "California.SanFrancisco",
            2
        ) VALUES (
            NOW,
            10.2,
            219,
            0.32
        );

          普通表,创建语法和传统关系型数据库一致;

          其他更多用法参考文档

5、索引结构

      主键索引:在创建超级表和普通表时第一列必须是时间类型,也是系统默认的主键索引,数据存储在块中,严格有序,每一个子表都有自己的主键索引,一个子表的一个时间段指向一个数据块

      非主键索引:除了主键索引之外可以在其他列中建立索引,非主键索引是作用在超级表上的,也就是一个超级表下面的所有子表共用一个索引,非主键索引是使用倒排索引的结构存储;这里的倒排索引和es的倒排所有不同,es中的倒排索引是根据内部维护的字典分词后记录词的位置,而这里的倒排索引不会分词,直接记录某一列值的位置,时序数据库的应用场景是根据时间统计个观察数据,很少会用到非主键索引

6、应用场景

      时序库的设计重心在于高性能处理时序数据,只提供了单行数据的原子性和一致性,所以对于操作多行、多表等场景不能保证数据的一致性,更多应用于非关系型业务的时序场景;

       

http://www.dtcms.com/a/511290.html

相关文章:

  • 重庆市建设网站公司经济师考试时间2023报名时间
  • 第3章,[标签 Win32] :窗口类06,实例句柄与图标光标
  • 带你了解STM32:PWR电源控制
  • React Hooks完全指南
  • 多线程之ThreadLocal
  • 如何修改root密码
  • (三)React技术核心思想——组件化编程
  • 国外唯美flash个人网站欣赏建设网银
  • 【NVIDIA-H200-3】3节点all-reduce-三节点扩展的性能边界:NVIDIA H200 24 卡集群 all-reduce 通信效率深度剖析
  • D026 vue3+django 论文知识图谱推荐可视化系统 | vue3+vite前端|neo4j 图数据库
  • 桃浦做网站常德经开区网站官网
  • ODOO数据文件(XML、CSV、SQL)是如何转换并加载到 Odoo 数据库
  • ArcGIS JSAPI 学习教程 - 要素图层(FeatureLayer)分类、分组设置可视化样式(ClassBreaksRenderer)
  • 10天!前端用coze,后端用Trae IDE+Claude Code从0开始构建到平台上线
  • [JavaEE初阶] 传输层协议---UDP 相关笔记
  • 考研408《操作系统》复习笔记,第二章《2.3 进程调度》
  • 网站开发流程有哪几个阶段网站关键词多少个合适
  • GitHub 热榜项目 - 日榜(2025-10-21)
  • 如何提高中药饮片批发业务的市场竞争力?
  • 门户网站建设关键点网站开发编程入门学习
  • 多路由隔离:构建模块化Agent工具服务器
  • [云计算] Classic Network-->VPC: 用SDN和Overlay实现隔离
  • linux shell编程实战 04 条件判断与流程控制
  • 10.21云计算作业
  • 服务器数据恢复—EqualLogic存储硬硬盘坏道,数据恢复有妙招
  • 风险识别不充分会让项目付出什么代价
  • LeetCode 46. 全排列
  • 洛谷 - P13982 数列分块入门 7(线段树解法 - 超详细版)
  • 页面PDF文件格式预览(不使用pdf.js)
  • Prompt Engineering 关键技能:精准掌控 LLM 输出的格式、内容与风格