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

相关推荐
Robot侠6 小时前
极简LLM入门指南4
大数据·python·llm·prompt·提示工程
技术钱7 小时前
vue3解决大数据加载页面卡顿问题
大数据
JIngJaneIL7 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
微学AI8 小时前
复杂时序场景的突围:金仓数据库是凭借什么超越InfluxDB?
数据库
廋到被风吹走8 小时前
【数据库】【Redis】定位、优势、场景与持久化机制解析
数据库·redis·缓存
有想法的py工程师9 小时前
PostgreSQL + Debezium CDC 踩坑总结
数据库·postgresql
福客AI智能客服9 小时前
从被动响应到主动赋能:家具行业客服机器人的革新路径
大数据·人工智能
Nandeska9 小时前
2、数据库的索引与底层数据结构
数据结构·数据库
小卒过河01049 小时前
使用apache nifi 从数据库文件表路径拉取远程文件至远程服务器目的地址
运维·服务器·数据库
过期动态9 小时前
JDBC高级篇:优化、封装与事务全流程指南
android·java·开发语言·数据库·python·mysql