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 智能体对数据进行预测与异常检测,提供实时的商业洞察。

相关推荐
倔强的石头_7 小时前
《Kingbase护城河》——猎捕慢查询:执行计划的微观解析与索引调优实战
数据库
SelectDB9 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
神奇啊龙11 小时前
我的第一个 TinyGo 项目:ESP32-C3 + DHT11 + SSD1306
物联网·嵌入式
ApacheSeaTunnel12 小时前
当多表数据涌入,Apache SeaTunnel 如何巧妙化解主键冲突?
大数据·开源·数据集成·seatunnel·技术分享·数据同步
老梁agent17 小时前
工业 Agent 的边缘部署:Ollama + LangChain4j 本地推理方案
物联网·边缘计算·agent
jiayou642 天前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE2 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
老梁agent3 天前
MCP 协议实战:用标准化方式让 Agent 调用工业工具
物联网·agent·mcp
xiezhr3 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
大大大大晴天3 天前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据