ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

TDengine 3.3.2.0 版本说明详解:ALTER TABLE 压缩选项支持、SupportVnodes 热更新与 16 项缺陷修复

TDengine 3.3.2.0 版本说明详解:ALTER TABLE 压缩选项支持、SupportVnodes 热更新与 16 项缺陷修复 TDengine 3.3.2.0 版本说明详解ALTER TABLE 压缩选项支持、SupportVnodes 热更新与 16 项缺陷修复【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine本篇围绕 TDengine 3.3.2.0发布于 2024-06-28的官方版本说明展开完整梳理该版本的社区版特性/优化、企业版新特性以及修复的 16 个问题并结合源码给出SupportVnodes默认值计算、配置热更新机制与 lossy 压缩参数的实现证据帮助你判断是否值得升级到 3.3.2.x 以及升级前需要关注的行为变化。版本概览TDengine 3.3.2.0 于2024-06-28发布是 3.3.x 系列中偏重“运维与存储细节打磨”的 minor 版本。该版本的核心改进集中在四个方面DDL 能力增强ALTER TABLE ADD COLUMN支持指定ENCODE/COMPRESS使后加列也能按需定制压缩与编码策略存储引擎优化改进stt_trigger1下 compact压实操作对读写的影响降低 STT 触发压实期间的读写抖动容量参数调优SupportVnodes单 dnode 可承载 vnode 上限默认值调整为5 2 × CPU 核数并支持热更新参数治理取消lossyColumns配置参数ALTER TABLE一次修改多项参数时明确“仅一项生效”的语义。版本说明原文位于 3.3.2.0 版本说明同目录还收录了 3.3.x 各小版本与 3.4.x 系列的说明见 版本说明索引、引擎版本历史 与 工具版本历史可作为版本选择与升级路径的参考资料。社区版新特性与优化逐项解析1. ALTER TABLE ADD COLUMN 支持 ENCODE/COMPRESS此前通过ALTER TABLE追加列时新列只能使用默认编码与压缩方式。3.3.2.0 允许在加列 DDL 中显式指定ENCODE与COMPRESS选项使新增列的存储策略在建表时即可定制避免了“先加列、后重建”的代价。这一点在 IoT 场景中很常见设备侧固件升级后新增测点运维希望直接以与历史列一致的DIFF编码或GORILLA压缩方式落盘而无需变更既有列。2. 改进 stt_trigger1 下 compact 对读写的影响stt_trigger控制超级表按数据量触发 STTSuper Table Table压实重建的策略该字段定义于系统表 schema见 systable.c 中stt_trigger的字段声明。在stt_trigger1模式下子表数据达到阈值后 vlib 会对 STT 文件做 compact 合并。3.3.2.0 优化了该过程与读写请求的并发关系减少压实期间的读写阻塞。压实相关的底层实现集中在 vnode 存储层可参考 tsdbMerge.c、tsdbFSet2.c 等文件。3. SupportVnodes 默认值调整为 5 2 × CPU 核数SupportVnodes决定单个 dnode 最多可承载的 vnode 数量直接影响集群建库时的 vgroup 分布。3.3.2.0 将该默认值从固定值调整为与 CPU 核数挂钩。当前仓库源码印证了这一计算逻辑见 tglobal.ctsNumOfSupportVnodes tsNumOfCores * 2 5; tsNumOfSupportVnodes TMAX(tsNumOfSupportVnodes, 2);即默认值 2 × 核数 5且不低于 2。该配置项通过cfgAddInt32注册合法取值范围为 0~10240 表示沿用默认值见 tglobal.ccfgAddInt32(pCfg, supportVnodes, tsNumOfSupportVnodes, 0, 1024, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER, CFG_CATEGORY_LOCAL, CFG_PRIV_SYSTEM);实际生效值在节点加入集群时随注册请求上报req.numOfSupportVnodes tsNumOfSupportVnodes见 dmHandle.cmnode 在创建 vgroup 时依据该值做容量校验见 mndDef.h 中的numOfSupportVnodes字段。注意从注册标志CFG_DYN_ENT_SERVER看该项的动态热更新能力在源码结构中主要面向企业版社区版修改后通常需重启 taosd 生效——这与下条企业版特性相呼应升级后请以实际版本能力为准。4. 取消 lossyColumns 参数lossyColumns曾用于声明哪些 FLOAT/DOUBLE 列采用有损压缩配合fPrecision、dPrecision、maxIntervals等精度参数。3.3.2.0 起该参数被取消从源码结构看有损压缩的初始化入口tsCompressInit仍在压缩工具层保留见 tcompression.c 与 dmMgmt.c全局变量tsLossyColumns也仍声明于 tglobal.h但配置入口收敛列级压缩方式改为通过 DDL 的COMPRESS选项按列显式声明。若你的旧环境taos.cfg中仍写有lossyColumns升级后建议清理该项并确认新列的压缩策略已用 DDL 明确表达。5. ALTER TABLE 修改多项参数仅一项生效当一条ALTER TABLE语句同时修改多个参数如同时改TTL、COMMENT等时3.3.2.0 明确语义为仅一项生效。这消除了旧版本中多参数混改行为不确定的隐患编写变更脚本时应把多项修改拆分为多条独立语句执行。6. SupportVnodes 支持热更新结合上文第 3 条SupportVnodes在不重启 taosd 的情况下即可调整企业版支持在线变更。这对集群扩容场景意义明显当新扩容的 dnode CPU 规格更高、而既有 dnode 承载过多 vgroup 时可在运行时上调低规格节点的承载上限或配合 rebalance 手段调整分布而不必逐台重启。7. 支持 CentOS Stream3.3.2.0 在系统适配上增加了 CentOS Stream 的支持使用该发行版部署 TDengine 的运维团队可以直接采用官方构建产物无需额外处理依赖兼容问题。企业版新特性与优化3.3.2.0 企业版共列出 22 项特性按能力域归纳如下。集群与资源管理对指定 db 进行balance vgroup leader可将某数据库的 vgroup leader 主动迁移/均衡便于把热点库的写压力分散到不同 dnodeIP 白名单启停支持热更新安全策略切换不再需要重启。多级存储新增配置项disable_create_new_file禁止新建数据文件常用于数据归档或只读保留阶段防止热层继续膨胀跨级迁移数据增加限速设置冷/温层搬迁可限制 IO 带宽避免迁移任务挤占在线读写资源。安全与密钥普通用户取消建库权限建库收敛为受控操作权限模型更贴近多租户生产环境数据库加密改进密钥配置加密密钥的配置方式优化简化运维流程。数据接入taosX / 数据源生态新增Oracle 数据源与Microsoft SQL Server 数据源支持支持 TDengine 2.0/3.0 历史数据的压缩存量数据重压缩OPC 类型任务可动态获取新增点位PLC/设备侧新增点无需重启同步任务PI backfill支持断点续传且 backfill 类型任务支持 Transformer数据转换PI 数据接入性能优化PI 数据源支持将新增数据点位/数据元素属性同步到 TDengineKafka 支持 GSSAPIKerberos 认证接入MQTT 类型任务可从数据源拉取示例数据便于先预览报文再配置解析支持Object 数组类型的数据、通过自定义脚本解析数据、通过插件形式对数据动态筛选taosX 写入端支持原生连接降低写入链路开销。taos-explorer支持GEOMETRY / VARBINARY数据类型的展示与操作支持用户及权限信息的导入导出方便权限体系迁移与备份。修复问题16 项该版本修复的问题以taosd 稳定性异常退出与查询正确性两类为主完整清单如下#修复内容类别1修改子表中缺少修改 TTL 和 COMMENT 的命令说明文档/DDL2查询first/lastintervalfill导致 taosd 异常退出稳定性3tmq 删除 topicA 消费组导致 topicB 同消费组消费失败订阅tmq4参数绑定 column index 越界导致 taosd 异常退出稳定性5查询cast函数导致 taosd 异常退出稳定性6多次 resetlog 后 taosdlog 消失日志7insert插入带有常量字段的 select 子查询数据失败DML 正确性8event_window查询导致 taosd 异常退出稳定性9查询interppartition by columnfill导致 taosd 异常退出稳定性10查询last返回值与预期不符正确性11event_windowhaving过滤条件未生效正确性12taosX 同步遇首列空值导致 taosd 异常退出仅企业版稳定性13升级至 3.3.0.0 开启 cachemodel 后查询lastgroup by返回行数不正确正确性14taos-explorer 导航栏未显示所有超级表名仅企业版工具15复合主键 VARCHAR 长度超 125 遇查询导致 taosd 异常退出稳定性16TDengine CLI 和 taosAdapter 占用 CPU 过高性能如果你的线上环境出现过event_window、interppartition byfill、cast相关查询导致的 taosd 崩溃或 CLI/taosAdapter CPU 占用异常的反馈3.3.2.0 的修复清单基本覆盖了这些场景升级收益明确。升级检查清单核对taos.cfg清理已被取消的lossyColumns配置若显式设置了SupportVnodes确认其取值仍在 0~1024 范围内0 表示采用2 × 核数 5的新默认值梳理 DDL 变更脚本将一条ALTER TABLE修改多项参数的语句拆分为多条避免“仅一项生效”语义影响变更结果确认压缩策略原来依赖lossyColumns的全局声明有损压缩的列应改用建表/加列时的COMPRESS选项逐列声明验证版本部署后执行show server或使用taos -s select server_version()类查询确认实际运行版本回归高风险查询重点回归first/last interval fill、event_window having、last group bycachemodel 场景等本次修复涉及的查询形态。延伸阅读相邻版本说明3.3.3.0、3.3.4.3、3.4.0.0可对照查看 3.3.x 后续小版本与 3.4 系列的演进全局参数实现SupportVnodes的注册与默认值计算见 tglobal.c压缩初始化链路见 tcompression.c 与 tcompression.hvnode 存储层压实实现tsdbMerge.c、tsdbFSet2.c。【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表