TDengine 浮点数新编码 BSS 用户手册

浮点数 BSS(Byte-Stream-Split)编码用户手册

1. 概述

BSS(Byte-Stream-Split)是 TDengine 针对 FLOAT/DOUBLE 字段推出的新一代编码方式,自 v3.3.8.0 起默认启用,旨在提高压缩效率的同时保持与旧编码相近的读写性能。

2. 技术原理

  • 将浮点数的二进制表示按字节拆解。
  • 对拆分后的字节流应用分割与压缩策略,尽可能让有数的二进制凑在一起,降低整体存储占用。

3. 核心优势

维度 表现 说明
压缩率 相较 delta-D 提升 4%~7%,1~100 范围内提升更明显 浮点数据集最高压缩率达 83.76%,整数 13.65%
写入性能 与 delta-D 基本一致 测试最高写入速率 32668 条/秒
查询效率 略优于 delta-D 测试最高查询 QPS 11.825
数据/列规模 32 列或 64 列、不同数值范围下表现稳定 结论不受列数或数据范围影响

4. 配置说明

4.1 默认行为

  • v3.3.8.0 及以上版本,新写入的浮点字段默认使用 BSS 编码。

4.2 手动指定

  • 建表时可显式配置:

    sql 复制代码
    CREATE TABLE st (
      ts TIMESTAMP,
      val DOUBLE ENCODING BSS
    ) TAGS (tag INT);

5. 性能测试摘要

项目 配置 / 环境
测试环境 192.168.2.124(12 核 CPU,64 GB 内存)
数据规模 1 DB、1 超级表、1 子表、1 VGROUP、100 万行
数据分布 1 ~ 100 范围浮点(6 位小数),0~100 整数

结果要点:

  • 压缩率: BSS 比原来默认的 delta-D 编码约有 4%~7% 提升。
  • 写入性能:与原来基本持平。
  • 查询性能:比原来略快。

(原图表略)

6. 注意事项

  1. 升级至 v3.3.8.0 后,历史浮点数据不会自动重编码,只有新写入数据使用 BSS。
  2. 可通过 describe <表名> 查看 encoding 字段确认实际编码。

7 关于 TDengine

TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台,其核心模块是高性能、集群开源、云原生、极简的时序数据库。

它能安全高效地将大量设备每天产生的高达 TB 甚至 PB 级的数据进行汇聚、存储、分析和分发,并提供 AI 智能体对数据进行预测与异常检测,提供实时的商业洞察。

相关推荐
高溪流9 分钟前
3.数据库表的基本操作
数据库·mysql
数据猿14 分钟前
【金猿CIO展】如康集团CIO 赵鋆洲:数智重塑“顶牛”——如康集团如何用大数据烹饪万亿肉食产业的未来
大数据
alonewolf_9917 分钟前
深入剖析MySQL锁机制与MVCC原理:高并发场景下的数据库核心优化
数据库·mysql
一 乐41 分钟前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物
Codeking__1 小时前
Redis初识——什么是Redis
数据库·redis·mybatis
k***1951 小时前
Spring 核心技术解析【纯干货版】- Ⅶ:Spring 切面编程模块 Spring-Instrument 模块精讲
前端·数据库·spring
程序员黄老师1 小时前
主流向量数据库全面解析
数据库·大模型·向量·rag
Full Stack Developme1 小时前
Redis 可以实现哪些业务功能
数据库·redis·缓存
rgeshfgreh2 小时前
Spring事务传播机制深度解析
java·前端·数据库
无名-CODING2 小时前
Java Spring 事务管理深度指南
java·数据库·spring