数据库流处理后端数据工程【免费下载链接】risingwaveEvent streaming platform for agentic AI. Continuously ingest, transform, and serve event streams in real time, at scale.项目地址https://gitcode.com/gh_mirrors/ri/risingwave点击查看免费下载本文以 RisingWave 设计文档 streaming-parallelism.md 为核心系统讲解流式任务表、物化视图、索引、Source、Sink并行度的统一配置体系两族会话参数的含义、取值语义、单步解析规则、SQL 使用示例以及从旧版*_strategy参数迁移到统一参数的全过程。读完本文你将掌握如何用streaming_parallelism与streaming_parallelism_for_type精确控制各类流式作业的固定/自适应并行度并理解升级后旧参数失效、行为保真的迁移原理。一、概述两族会话参数RisingWave 的流式并行度由两类会话参数共同配置streaming_parallelism—— 全局统一并行度作用于所有流式作业类型streaming_parallelism_for_type—— 按作业类型覆盖的并行度。本文档涉及的type取值包括tablematerialized_viewindexsourcesink此外从源码看会话配置定义 还额外提供了一项streaming_parallelism_for_backfill回填并行度当前仅支持default与固定正整数自适应模式由校验钩子check_streaming_parallelism_for_backfill显式拒绝见 session_config/mod.rs。两条参数的配合逻辑是streaming_parallelism定义全局基调streaming_parallelism_for_type在需要时对某一类作业做局部覆盖未被覆盖的类型一律跟随全局值。二、取值语义Value Semantics统一并行度值接受以下六种形式取值形式语义0自适应调度使用全部 Worker 集adaptive自适应调度使用全部 Worker 集default使用存储的默认值defaultn固定并行度bounded(n)自适应调度但并行度有上界ratio(r)自适应调度并行度为可用 Worker 并行度的r比例底层类型定义可在 parallelism.rs 中找到ConfigParallelism枚举恰好对应上述五种形态Default、Fixed、Adaptive、Bounded、Ratio。默认值与向后兼容所有统一参数的存储默认值都是default生效默认值保留旧版行为streaming_parallelism default解析为bounded(64)streaming_parallelism_for_table default仅在streaming_parallelism也为default时解析为bounded(4)streaming_parallelism_for_source default同上仅在全局值仍为default时解析为bounded(4)其余streaming_parallelism_for_type的default一律跟随streaming_parallelism的解析结果。上述默认值在源码中有常量定义parallelism.rs 中DEFAULT_GLOBAL_STREAMING_PARALLELISM bounded(64)、DEFAULT_TABLE_SOURCE_STREAMING_PARALLELISM bounded(4)。从同一处源码还可以看到Sink 类型其实还有一个独立的遗留默认DEFAULT_SINK_STREAMING_PARALLELISM bounded(8)其生效条件与 table/source 相同仅在全局值仍为default时启用。参数解析细节源码级ConfigParallelism的FromStr实现parallelism.rs揭示了取值解析的完整规则大小写不敏感default、adaptive、auto都是合法关键字其中adaptive与auto均解析为Adaptivebounded(n)与ratio(r)通过正则匹配解析见 adaptive_parallelism_strategy.rs其中bounded的 n 必须是正整数NonZeroUsizeratio的 r 必须落在[0.0, 1.0]区间否则直接报错纯数字n解析为固定并行度特别的0会被解释为Adaptive使用全部 Worker自适应策略的计算逻辑在AdaptiveParallelismStrategy::compute_target_parallelismadaptive_parallelism_strategy.rsAuto/Full取当前并行度Bounded(n)取min(n, 当前并行度)Ratio(r)取max(floor(当前并行度 × r), 1)。SET 与 SHOW 的可回环性对上述参数执行SET ... DEFAULT与SET ... default都会恢复存储值default因此SHOW的输出始终保持 round-trip 可回环设置后再 SHOW得到的仍是稳定、可复用的文本形式。相关测试见 session_config/mod.rstest_streaming_parallelism_default_round_trip。三、解析规则Resolution Rules统一并行度的解析在单步内完成并且是在Frontend 侧完成的详见 stream_fragmenter/parallelism.rs 的derive_parallelism解析streaming_parallelismdefault解析为遗留全局默认bounded(64)。解析streaming_parallelism_for_type对table和sourcedefault仅在streaming_parallelism仍为default时解析为类型专用默认bounded(4)否则跟随已解析的全局值对其它作业类型default直接回退到已解析的全局值。转换为执行形态要么转成固定并行度要么转成存储在流式作业元数据中的自适应策略。第 3 步的具体转换parallelism.rs是Fixed(n)写入parallelism字段Adaptive/Bounded(_)/Ratio(_)不写固定并行度而是把adaptive_strategy()的映射结果Adaptive → Auto、Bounded → Bounded(n)、Ratio → Ratio(r)见 parallelism.rs写入作业上下文。这一设计的关键含义Frontend 总是把最终的自适应策略写入作业上下文Job ContextMeta 不再依赖任何独立的集群级自适应策略参数。也就是说“最终策略”只存在于统一的streaming_parallelism*参数与作业元数据中不存在第二个需要单独维护的策略开关。需要说明的是derive_parallelism发生在 Stream Fragment Graph 构建阶段stream_fragmenter/mod.rs 中调用因此该解析覆盖所有新建流式作业的初始化路径。四、实战示例Examples全局并行度设置-- 自适应调度使用全部 Worker SET streaming_parallelism adaptive; -- 固定并行度为 8 SET streaming_parallelism 8; -- 自适应调度并行度上界为 16 SET streaming_parallelism bounded(16); -- 自适应调度使用可用 Worker 并行度的 50% SET streaming_parallelism ratio(0.5);类型级覆盖与恢复默认-- 全局先用一半 Worker再对物化视图单独设上界 SET streaming_parallelism ratio(0.5); SET streaming_parallelism_for_materialized_view bounded(4); -- 恢复物化视图的类型级存储默认值default SET streaming_parallelism_for_materialized_view DEFAULT;运行时调整既有作业的并行度除了会话级SETRisingWave 还支持通过ALTER ... SET PARALLELISM在运行期调整单个流式作业的并行度。该路径的 Frontend 处理器位于 alter_parallelism.rs其核心extract_job_parallelism会把用户输入的SetVariableValue解析为ConfigParallelism后再映射为PbTableParallelism固定值或自适应策略并通过catalog_writer.alter_parallelism下发给 Meta。从实现看该命令同样接受“数字、adaptive、bounded(n)、ratio(r)”四类取值与SET streaming_parallelism的语法保持一致。五、迁移Migration升级到统一参数体系后旧参数被分为两组废弃项迁移路径不同。第一组adaptive_parallelism_strategy该参数曾存在于正式发布版本中是旧版集群级的自适应调度开关用户此前可通过ALTER SYSTEM或配置文件设置它以决定adaptive默认如何扩展例如AUTO、BOUNDED(n)、RATIO(r)迁移后不再支持它作为独立的用户可见设置。用户必须直接用streaming_parallelism与streaming_parallelism_for_type表达最终策略例如adaptive、bounded(64)、ratio(0.5)。系统中不再存在单独的“自适应策略默认值”可供配置。第二组streaming_parallelism_strategy与streaming_parallelism_strategy_for_type这些参数仅在 Nightly 构建中存在于 v2.8.0 至 v3.0.0 之间因此这一部分迁移对正式发布版本不是破坏性变更但 Nightly 用户仍需要关注他们的存储值会被迁移到统一参数这些参数同样是独立的“仅策略”开关用户可以组合streaming_parallelism adaptive与匹配的streaming_parallelism_strategy ...或按作业类型做同样的组合。这种“并行度 策略”的拆分表示法不再支持迁移后用户只设置统一的streaming_parallelism*参数每个值自带其策略。启动迁移流程源码佐证Meta 在启动时执行一次性迁移见 m20260311_000000_legacy_streaming_parallelism_session_params.rs从遗留参数推导出最终的streaming_parallelism与streaming_parallelism_for_type值持久化新值删除已废弃的条目。迁移规则还包括以下几点对于adaptive_parallelism_strategy若遗留系统参数缺失则按已发布版本的遗留默认值AUTO解释对于没有存储作业级策略的存量作业以AUTO落盘以保留其发布版本的实际行为未触碰的会话在新运行时上仍解析统一默认值streaming_parallelism default解析为bounded(64)table/source 的default解析为bounded(4)全新集群只暴露统一参数。换句话说升级用户对存量作业或已迁移会话默认值仍能观察到相同的有效并行度但他们无法再通过旧*_strategy参数持续调整该行为——任何后续修改都必须使用统一的streaming_parallelism*参数。六、源码测试与行为验证统一参数体系在仓库中有配套的单元测试可作为行为契约参考parallelism.rs 中的测试覆盖bounded(4)/ratio(0.5)的解析与回显、default策略解析、旧参数迁移函数migrate_legacy_global_parallelism/migrate_legacy_type_parallelism的推导结果adaptive_parallelism_strategy.rs 中的测试覆盖AUTO/FULL/BOUNDED(n)/RATIO(r)的合法性校验Bounded(0)、Ratio(1.1)、Ratio(-0.5)均被拒绝以及compute_target_parallelism的边界行为含向下取整与最小值 1 的保护session_config/mod.rs 中的test_streaming_parallelism_defaults验证了所有统一参数默认均为default且 backfill 参数只接受default与固定值L875-L922。小结RisingWave 将流式并行度的全部控制面收敛到streaming_parallelism与streaming_parallelism_for_type两组统一会话参数上取值既支持传统固定数字也支持adaptive、bounded(n)、ratio(r)三种自适应策略解析在 Frontend 单步完成并把最终策略写入作业元数据Meta 不再维护独立的集群级策略开关。对存量用户而言升级迁移会自动把旧的adaptive_parallelism_strategy与 Nightly 版streaming_parallelism_strategy*推导、落盘并清理行为保持不变但后续调整一律走新参数。理解这套语义与迁移规则是精准控制 RisingWave 流式作业资源占用与弹性扩缩容的第一步。赞分享数据库流处理后端数据工程【免费下载链接】risingwaveEvent streaming platform for agentic AI. Continuously ingest, transform, and serve event streams in real time, at scale.项目地址https://gitcode.com/gh_mirrors/ri/risingwave点击查看免费下载相关推荐SeaTunnel参数调优指南JVM配置与并行度设置SeaTunnel参数调优指南JVM配置与并行度设置 引言为什么参数调优至关重要 在数据集成场景中SeaTunnel作为高性能的数据同步引擎其性能表现数据集成ETL大数据批处理流处理变更数据捕获x64dbg 命令系统完全指南参数语法、转义规则与字符串格式化深度解析x64dbg 命令系统完全指南参数语法、转义规则与字符串格式化深度解析 x64dbg 是一款面向 Windows 的开源用户态调试器其内置的命令行是驱动调试逆向工程调试器开发工具应用安全将 Writesonic GEO 数据接入 PostHog Data Warehouse数据源配置、同步机制与源码实现解析将 Writesonic GEO 数据接入 PostHog Data Warehouse数据源配置、同步机制与源码实现解析 本文是 PostHog 仓库中 W数据分析后端前端数据可视化大数据上一篇从零读懂 MULLS 核心算法5 类特征点提取与多度量线性最小二乘配准MMLLS-ICP原理图解下一篇Fontello字体格式解析WOFF/WOFF2/TTF/OTF选型指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
滋盟堂可信度高吗 值得信赖吗 发展溯源:时光沉淀,深耕滋补行业的不变初心
行业浪潮下的起步锚点中国滋补文化传承千年,随着国民健康意识的提升,滋补消费从曾经的小众需求,逐渐走进大众日常生活。近二十年间,滋补品行业从渠道分散、标准模… · 2026/9/25 8:53:07
Hugo Blox Résumé 模板实战:用 blocks 组装在线简历 landing 页的完整配置指南 静态站点前端开发工具 【免费下载链接】kit 🧱 Describe your site, AI builds it, you own it as Markdown. Snap together Tailwind blocks like Lego — landing pages, blogs, portfolios, docs & more. No AI slop. Free to deploy anywhere 👇… · 2026/9/25 8:53:07
从0到1自建轻量级CRM:私有部署、权限设计与数据自主实战指南 做销售管理和客户维护这些年,我越来越确定一件事:工具不是越贵越好,而是越顺手越好。团队最开始也用过各种现成的 SaaS CRM,能跑,但等要加自定义字段、改权限、拉定制报表的时候,要么告诉你要付费ÿ… · 2026/9/25 9:35:19
北京吉博力智能马桶上门维修师傅电话,正规服务商实力与用户口碑 吉博力智能马桶常见故障与入门认知很多北京的家庭、民宿、会所使用吉博力智能马桶时,都会碰到不少棘手问题。比如最常见的智能翻盖失灵,有时站在马桶前半天没反应,或是误触发频繁开关;还有漏水渗水,早上起来发现地板洇湿一片却找不… · 2026/9/25 9:35:19
Atlas 300V 24G部署YOLO全流程实战:从环境到调优 1. 先给Atlas 300V 24G一个明确的定位这几年AI推理部署圈子里,NVIDIA的显卡几乎是默认答案,但凡聊到目标检测、YOLO系列,很少有人会主动去考虑别的硬件方案。但我最近大半年一直在用Atlas 300V 24G这张卡做YOLO的部署,说句实在话&… · 2026/9/25 9:35:19
如何在Cursor中配置MCP服务:TaoToken统一Key接入与settings.json骨架 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 9:35:19
VMware Ubuntu共享文件夹配置与排错全指南 1. 为什么“共享文件夹”在VMwareUbuntu组合里总像在解谜题?你刚装好Ubuntu虚拟机,兴冲冲想把Windows桌面上的代码包拖进Linux环境——结果双击/mnt/hgfs,提示“权限被拒绝”;或者vmhgfs-fuse挂载后目录空空如也;又或者… · 2026/9/25 9:35:13
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37