InfluxDB 3 Core 发行说明
InfluxDB 3 Core 和 Enterprise 的关系
InfluxDB 3 Enterprise 是 InfluxDB 3 Core 的超集。所有对 Core 的更新都自动包含在 Enterprise 中。下面的 Enterprise 部分仅列出 Enterprise 独有的更新。
v3.8.0
Core
新功能
- Linux 服务管理:在 Linux 上将 InfluxDB 3 作为托管系统服务运行(#27026)
- 使用
influxdb3-launcher脚本初始化服务 - 在现代 Linux 发行版上使用 systemd 进行部署
- 在旧版系统上使用 SysV init 进行部署
- 通过配置文件自定义服务行为
- 使用
Bug 修复
- CLI:运行
SHOW RETENTION时仅显示活动数据库和表 - 数据库操作:尝试删除已删除数据库中的表时收到错误
- 保留策略:尝试修改已删除数据库的保留设置时收到错误
安全性
- 处理引擎:使用 Python 3.13.11 运行处理引擎插件,其中包含安全性和 Bug 修复(#27014)
Enterprise
所有 Core 更新都包含在 Enterprise 中。其他 Enterprise 特有功能和修复
Bug 修复
- 表限制:删除表而不影响您的表限制配额
- 保留策略:尝试修改已删除表的保留设置时收到错误
v3.7.0
Core
新功能
- HTTP API 增强:
- 所有 HTTP 响应现在都包含一个
cluster-uuid头,其中包含 catalog UUID,允许客户端以编程方式识别特定集群实例 - HTTP API 现在支持多成员 gzip 有效载荷,支持批量操作
- 所有 HTTP 响应现在都包含一个
- CLI 命令:
- 新的
influxdb3 show retention命令显示每个表的有效保留期,显示保留期是在数据库级别还是表级别设置的,并以人类可读的格式(例如,“7d”、“24h”)显示
- 新的
Bug 修复
授权:修复了多数据库权限处理,以正确授权跨多个数据库的查询。
一般性改进:多项关键 Bug 修复和性能改进。
Enterprise
所有 Core 更新都包含在 Enterprise 中。其他 Enterprise 特有功能和修复
- 一般性改进:多项关键 Bug 修复和性能改进。
v3.6.0
Core
新功能
- 快速入门开发者体验:
influxdb3现在支持不带参数运行,以实现即时数据库启动,根据您的系统设置自动生成 ID 和存储标志值。
- 处理引擎:
- 插件现在支持多个文件,而不是单个文件限制。
- 创建触发器时,您可以使用
--upload标志直接从本地计算机上传插件。 - 现在可以在运行时更新现有的插件文件,而无需重新创建触发器。
- 新的
system.plugin_files表和show pluginsCLI 命令现在可以查看所有加载的插件文件。 - 现在可以通过
--plugin-repoCLI 标志支持自定义插件存储库。 - 现在可以通过
--package-manager disabled禁用 Python 包安装,以用于锁定环境。 - 插件文件路径验证现在通过阻止相对和绝对路径模式来防止目录遍历攻击。
Bug 修复
- 写入 API:修复了缩写精度值(
ns、ms、us、s)以与/api/v3/write_lp端点正确配合使用。以前,只有完整的精度名称(nanosecond、microsecond、millisecond、second)才有效。 - 令牌管理:令牌显示现在可以正确处理已硬删除的数据库
Enterprise
所有 Core 更新都包含在 Enterprise 中。其他 Enterprise 特有功能和修复
运维改进
- 存储引擎:改进了基于 Docker 的许可证服务开发环境
- Catalog 一致性:节点管理修复了 catalog 边缘情况
- 其他增强和性能改进
v3.5.0
Core
新功能
- 自定义插件存储库:
- 将
--plugin-repo选项与influxdb3 serve一起使用来指定自定义插件存储库。这允许从个人存储库加载插件或禁用远程存储库访问。
- 将
Bug 修复
安全与杂项
- 敏感环境变量值现在已隐藏在 CLI 输出和日志消息中(#26837)
Enterprise
所有 Core 更新都包含在 Enterprise 中。其他 Enterprise 特有功能和修复
新功能
- 缓存优化:
- 最后值缓存(LVC)和唯一值缓存(DVC)现在在创建时填充,并且仅在查询节点上填充,从而减少了摄取节点上的资源使用。
Bug 修复
- 对象存储可靠性:
- 对象存储操作现在使用具有更好错误处理的可重试机制
运维改进
- 压缩优化:
- 压缩生产者现在等待 10 秒后再开始周期,减少了启动期间的资源争用
- 增强的调度算法将压缩工作更有效地分配给可用资源
- 系统表:
- 系统表现在提供跨不同节点模式(摄取、查询、压缩)的一致数据,从而在多节点部署中实现更好的监控
v3.4.2
Core
Bug 修复
- 数据库可靠性:
- TableIndexCache 初始化和 ObjectStore 改进
- Persister 不需要 TableIndexCache
HTTP API 更改
- v2 写入 API:标准化
/api/v2/write错误响应格式以匹配其他 InfluxDB 版本。错误响应现在使用一致的格式:{"code": "<code>", "message": "<detailed message>"}(#26787)
Enterprise
所有 Core 更新都包含在 Enterprise 中。其他 Enterprise 特有功能和修复
新功能
- 存储引擎:传入根 CA 并为对象存储禁用 TLS 验证
- 支持:添加了手动停止节点的支持
Bug 修复
- Bug 修复:Generation 详细路径计算 panic
- 数据库可靠性:将 TableIndexCache 传递给 PersistedFiles
运维改进
- 压缩优化:
- 压缩清理器现在默认等待 1 小时(之前是 10 分钟)
- 压缩生产者现在等待 10 秒后再开始压缩周期
- Catalog 同步:后台 catalog 更新每 1 秒同步一次(之前是 10 秒)
- 日志改进:添加了清晰的日志,以指示生产者端持久化的序列以及消费者端消耗的序列
v3.4.1
Core
Bug 修复
- 从 3.3.0 升级到 3.4.x 不再会导致潜在的 catalog 迁移问题(#26756)
v3.4.0
Core
新功能
- 令牌供应:
- 在启动数据库之前离线生成管理员令牌并使用它们(如果令牌尚不存在)。这适用于自动化部署和容器化环境。(#26734)
- Azure 端点:
- 将
--azure-endpoint选项与influxdb3 serve一起使用,以指定用于对象存储连接的 Azure Blob 存储端点。(#26687)
- 将
- 通过 CLI 的 No_Sync:
- 将
--no-sync选项与influxdb3 write一起使用,以跳过等待 WAL 持久化写入,并立即向写入请求返回响应。(#26703)
- 将
Bug 修复
安全与杂项
- 减少 TableIndexCache 日志的详细程度。(#26709)
- WAL 重放并发限制默认为 CPU 核心数,防止可能的 OOM。(#26715)
- 移除不安全的 signal_handler 代码。(#26685)
- 将 Python 版本升级到 3.13.7-20250818。(#26686, #26700)
- 名称中带有
/的标签不再破坏主键。
Enterprise
所有 Core 更新都包含在 Enterprise 中。其他 Enterprise 特有功能和修复
新功能
令牌供应:
- 离线生成 *资源* 和 *管理员* 令牌,并在启动数据库时使用它们。
选择家庭版或试用版许可证,无需使用交互式终端。使用
influxdb3 serve命令的--license-type[home | trial | commercial] 选项来自动选择许可证类型。
Bug 修复
- 当指定的
--mode不需要时,不初始化处理引擎。 - 在未启用处理引擎的容器中设置
INFLUXDB3_PLUGIN_DIR时,不 panic。
v3.3.0
Core
新功能
- 数据库管理:
- 存储引擎:引入
TableIndexCache,用于根据保留策略和硬删除,高效地自动清理过期的 gen1 Parquet 文件。包括用于应用数据保留策略的新后台循环,具有可配置的间隔以及用于表和保留期过期数据的全面清理操作(#26636) - 身份验证和安全:添加管理员令牌恢复服务器,允许在没有现有身份验证的情况下重新生成丢失的管理员令牌。包括新的
--admin-token-recovery-http-bind选项,用于在单独的端口上运行恢复服务器,并在成功生成令牌后自动关闭(#26594) - 构建过程:允许通过构建过程中的环境变量传递 git hash(#26618)
Bug 修复
Enterprise
所有 Core 更新都包含在 Enterprise 中。其他 Enterprise 特有功能和修复
新功能
- 许可证管理:
- 改进 Core 用户许可证建议
- 更新许可证信息处理
- 存储引擎:添加实验性的 PachaTree 存储引擎,包括核心实现和服务器集成
- 数据库管理:
- 增强
TableIndexCache,使其具备超越 Core 基本清理的高级功能:持久化快照、对象存储集成、分布式环境的合并操作以及多节点集群的恢复功能 - 添加
TableIndexSnapshot、TableIndex和TableIndices类型以实现分布式表索引管理
- 增强
- 支持:在试用版错误消息中包含联系信息
- 遥测:在许可证设置之前发送入站遥测
Bug 修复
- 压缩稳定性:
- 修复最大 generation 数据覆盖时的 compactor 重新压缩问题
- 修复 compactor 将“all”模式视为“ingest”模式
- 数据库可靠性:
- 将缺失的系统表添加到 compact 模式
- 存储完整性:将 Parquet 文件路径更新为使用 20 位零填充
- 常规修复:
- 仅在正确的服务器模式下加载处理引擎
- 移除 load generator 别名冲突
v3.2.1
Core
新功能
- 增强的数据库生命周期管理:
- 允许更新已删除数据库和表的硬删除日期,从而在管理数据保留和合规性要求方面提供灵活性
- 在
_internal系统表(databases和tables)中包含hard_deletion_date列,以便更好地了解数据生命周期和审计跟踪
Bug 修复
- CLI 改进:
- 查询处理:修复了 V1 兼容的
/queryHTTP API 端点,以正确将 CSV 输出默认为毫微秒精度(ns),确保与 InfluxDB 1.x 客户端的向后兼容性,并防止数据精度损失(#26577) - 数据库可靠性:修复了阻止硬删除已软删除数据库和表的错误,从而可以完全移除数据以满足合规性和存储管理需求(#26574)
Enterprise
所有 Core 更新都包含在 Enterprise 中。其他 Enterprise 特有功能和修复
新功能
- 许可证管理改进:新的
influxdb3 show license命令显示详细的许可证信息,包括类型、过期日期和资源限制,便于监控许可证状态和合规性
Bug 修复
- API 稳定性:修复了 HTTP API 触发器规范,以使用正确的
"request:REQUEST_PATH"语法,确保正确进行基于请求的触发器配置以实现处理引擎工作流
v3.2.0
Core: revision 1ca3168bee
Enterprise: revision 1ca3168bee
Core
新功能
- 数据库和表的硬删除:永久删除数据库和表,从而可以完全移除数据结构以满足合规性和存储管理需求(#26553)
- AWS 凭证自动重载:支持从文件中动态重载短暂的 AWS 凭证,从而提高使用 AWS 服务时的安全性和可靠性(#26537)
- 数据库保留期支持:通过 CLI 命令(
create database和update database命令)和 HTTP API 添加数据库的保留期支持(#26520)- 新的 CLI 命令:
update database --retention-period
- 新的 CLI 命令:
- 可配置的回看时长:用户可以为 PersistedFiles 缓冲区指定回看时长,从而更好地控制查询性能(#26528)
- WAL 重放并发控制:为 WAL(Write-Ahead Log)重放添加并发限制,以提高启动性能和资源管理(#26483)
- 增强的写入路径:分离写入路径执行器,使用无界内存以提高写入性能(#26455)
Bug 修复
- WAL 损坏处理:在重放期间处理损坏的 WAL 文件而不 panic,从而提高数据恢复和系统弹性(#26556)
- 数据库命名验证:通过 API 创建数据库时,禁止在数据库名称中使用下划线,以确保一致性(#26507)
- 对象存储清理:文件对象存储的自动中间目录清理,防止存储膨胀(#26480)
其他更新
Enterprise
所有 Core 更新都包含在 Enterprise 中。其他 Enterprise 特有功能和修复
新功能
- 许可证管理改进:
- 新的
influxdb3 show license命令,用于显示当前许可证信息
- 新的
- 表级保留期支持:在数据库级保留期之上,为单个表添加保留期支持,从而实现细粒度的数据生命周期管理
- 新的 CLI 命令:
create table --retention-period和update table --retention-period - 设置或清除独立于数据库设置的表特定保留期
- 新的 CLI 命令:
- 压缩改进:
- 解决 compactor 重启问题,提高可靠性
- 在 catalog 中跟踪已压缩的 generation 时长以进行监控
- 禁用摄取模式下的 Parquet 缓存以优化内存使用
Bug 修复
- 查询优化:将查询块正确地分区到 generation 中,以提高性能
- 数据完整性:不在压缩过程中删除 generation 1 文件
- 许可证处理:读取后修剪许可证文件内容中的空格,以防止验证问题
v3.1.0
Core: revision 482dd8aac580c04f37e8713a8fffae89ae8bc264
Enterprise: revision 2cb23cf32b67f9f0d0803e31b356813a1a151b00
Core
令牌和安全更新
- 现在可以创建命名管理员令牌,并带有可配置的过期时间
- 现在可以对
health、ping和metrics端点选择退出授权 - 所有 API 现在都支持
Basic $TOKEN - 创建新令牌时提供额外信息
- 使用
--without-auth启动 InfluxDB 时提供额外信息
其他更新
- 提供新的 catalog 指标,用于计数操作
- 提供新的对象存储指标,用于传输延迟和传输大小
- 提供新的查询持续时间指标,用于最后值缓存
/pingAPI 现在包含版本化头- 其他性能改进
修复
- 新标签现在使用 NULL 而不是空字符串进行回填
- 修复了 bitcode 反序列化错误
- 修复了系列键元数据未持久化到 Parquet 的问题
- 其他通用修复和更正
Enterprise
令牌和安全更新
- 资源令牌现在在
show tokens中使用资源名称 - 令牌现在可以被授予创建数据库的
CREATE权限
其他更新
- 最后值缓存会在重启时重新加载
- 唯一值缓存会在重启时重新加载
- 其他性能改进
- 用以下内容替换剩余的“INFLUXDB_IOX” Dockerfile 环境变量
ENV INFLUXDB3_OBJECT_STORE=fileENV INFLUXDB3_DB_DIR=/var/lib/influxdb3
修复
- 改进和修复许可证验证
- 修复了关闭时 catalog 错误的误报
- 错误和入站消息的 UX 改进
- 其他通用修复和更正
v3.0.3
Core: revision 384c457ef5f0d5ca4981b22855e411d8cac2688e
Enterprise: revision 34f4d28295132b9efafebf654e9f6decd1a13caf
Core
修复
- 防止操作员令牌
_admin被删除。
Enterprise
修复
- 修复入站过程中输出的对象存储信息摘要。
- 修复了关闭时 catalog 错误的误报问题。
- 修复了许可证验证问题。
- 其他修复和性能改进。
v3.0.2
Core: revision d80d6cd60049c7b266794a48c97b1b6438ac5da9
Enterprise: revision e9d7e03c2290d0c3e44d26e3eeb60aaf12099f29
Core
安全更新
- 动态生成测试 TLS 证书。
- 通过 INFLUXDB3_TLS_CA 环境变量设置 TLS CA。
- 强制执行最低 TLS 版本以提高安全性。
- 允许来自浏览器的 CORS 请求。
一般更新
- 支持令牌创建输出中的
--format json选项。 - 移除最后值缓存的大小限制,以提高性能和灵活性。
- 整合其他性能改进。
修复
- 修复了唯一缓存中的计数错误。
- 修复了唯一缓存处理带有 null 值的行。
- 修复了
group by标签列中使用转义引号的处理。 - 在
SHOW TABLES命令中一致地对 IOx 表 schema 进行排序。
Enterprise
更新
- 引入了一个命令和系统表来列出集群节点。
- 支持多个自定义权限参数匹配。
- 改进整体性能。
修复
- 仅初始化一次对象存储。
- 防止家庭版许可证服务器在重启时崩溃。
- 强制执行
--num-cores线程分配限制。
v3.0.1
Core: revision d7c071e0c4959beebc7a1a433daf8916abd51214
Enterprise: revision 96e4aad870b44709e149160d523b4319ea91b54c
Core
更新
- TLS CA 现在可以使用环境变量设置:
INFLUXDB3_TLS_CA - 其他通用性能改进
修复
- 创建表时
--tags参数现在是可选的,并且此外,如果指定了标签,则至少需要一个标签
Enterprise
更新
- 数据库、表和列的 Catalog 限制现在可以使用
influxdb3 serve选项进行配置--num-database-limit--num-table-limit--num-total-columns-per-table-limit
- 改进了许可证提示的清晰度
- 其他通用性能改进
修复
- 家庭版许可证线程计数日志错误
v3.0.0
Core
重大变更
- Parquet 缓存配置:用
--parquet-mem-cache-size替换了--parquet-mem-cache-size-mb选项。新选项接受兆字节(作为整数)或可用内存的百分比(例如,20%)值。默认值从1000MB 更改为可用内存的20%。环境变量INFLUXDB3_PARQUET_MEM_CACHE_SIZE_MB被替换为INFLUXDB3_PARQUET_MEM_CACHE_SIZE。(#26023) - 内存设置更新:
- 强制快照内存阈值现在默认为可用内存的
50% - DataFusion 执行内存池现在默认为可用内存的
20%
- 强制快照内存阈值现在默认为可用内存的
一般更新
- 性能和可靠性改进。
Enterprise
令牌支持
- 授权现在默认开启。
- 现在支持数据库级别权限的令牌。
- 现在支持系统级别查询的令牌。
一般更新
- 您现在可以使用商业版、试用版和家庭版许可证。
v3.0.0-0.beta.3
Core: revision f881c5844bec93a85242f26357a1ef3ebf419dd3
Enterprise: revision 6bef9e700a59c0973b0cefdc6baf11583933e262
Core
一般性改进
- InfluxDB 3 现在支持在向服务发送中断信号时进行优雅关闭。
Bug 修复
- JSON 格式结果中的空批处理现在得到妥善处理
- 处理引擎现在可以正确地从 DictionaryArrays 中提取数据
Enterprise
多节点改进
- 查询节点现在自动检测新的摄取节点
Bug 修复
- 对压缩计划和处理的几项修复
- 处理引擎现在可以正确地从 DictionaryArrays 中提取数据
v3.0.0-0.beta.2
Core: revision 033e1176d8c322b763b4aefb24686121b1b24f7c
Enterprise: revision e530fcd498c593cffec2b56d4f5194afc717d898
此次更新为 Core 和 Enterprise 带来了多项后端性能改进,为未来几周内推出的更多新功能做准备。
v3.0.0-0.beta.1
Core
新功能
查询和存储增强
- 新增能力,可以流式传输 CSV 和 JSON 查询的响应数据,类似于 JSONL 流式传输的工作方式
- Parquet 文件现在被缓存到查询路径,从而提高了性能
- 查询缓冲区在快照时被增量清除,降低了内存峰值
处理引擎改进
- 新的触发器类型
- 计划性:按自定义、时间定义的基础运行 Python 插件
- 请求:通过 HTTP 请求调用 Python 插件
- 新的内存中缓存,用于临时存储数据;缓存的数据可以存储用于单个触发器或所有触发器
- 与虚拟环境集成并安装包
- 通过 CLI 或
VIRTUAL_ENV变量指定 Python 虚拟环境 - 安装包或
requirements.txt
- 通过 CLI 或
- Python 插件现在仅通过触发器实现。只需创建一个引用您的 Python 插件代码文件的触发器即可
- 快照现在是并行持久化的,通过同时运行作业而不是顺序运行来提高性能
- 从处理引擎内部写入日志
数据库和 CLI 改进
- 您现在可以使用
--precision标志为写入指定时间戳的精度。包括纳秒/微秒/毫秒/秒(ns/us/ms/s) - 添加了一个新的
show系统子命令,用于通过 SQL 显示系统表,并提供不同的选项(默认限制:100) - 更清晰的表创建错误消息
Bug 修复
- 如果创建了一个数据库,并且在写入任何数据之前服务被终止,则该数据库不会被保留
- 带有特定“值”列的最后一个缓存无法查询
- 运行 CTRL-C 不再停止 InfluxDB 进程,因为有一个 Python 触发器
- 之前的构建曾破坏了 RecordBatches 的 JSON 查询
- 存在一个导致 panic 的唯一缓存问题
参数更改
对于 Core 和 Enterprise,参数已更改以简化
| 旧参数 | 新参数 |
|---|---|
--writer-id--host-id | --node-id |
Enterprise 功能
集群管理
- 节点现在与*集群*相关联,简化了压缩、读取复制和处理
- 节点规范现在可用于更简单地创建缓存
模式类型
- 为每个节点单独设置
ingest、query、compact和process
Enterprise 参数更改
对于 Enterprise,serve 命令的附加参数已合并以简化
| 旧参数 | 新参数 |
|---|---|
--read-from-node-ids--compact-from-node-ids | --cluster-id |
--run-compactions--mode=compactor | --mode=compact--mode=compact |
除了上述更改之外,--cluster-id 现在是所有新实例的必需参数。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。