Lance 2.3 把页编码拆成结构平面与值平面,LanceDB 把 MemWAL 改名成 RTE;Databricks 用 MemCurrent 把 Agent 记忆做成 Lakebase 上的两层存储;AWS Clean Rooms 直接读 Delta Sharing 表;Prefect 3.9.0 抬走 Python 3.10 并接上 3.15
本期聚焦四条 10 月 20 日至 21 日的进展,动作形状一致:把一件原本含混的事拆成有名字、有边界的两半——编码拆成结构与值两个平面、记忆拆成原始轨迹与蒸馏知识、跨组织协作拆成注册入口与数据本体、运行时拆出明确支持的版本区间。
本期四条动态落在 10 月 20 日至 21 日这两天,来自两个开源项目与两个平台方,做的事可以概括成同一个动作:把一件原本含混的事拆成两半,并且给每一半起名字、划边界。Lance 在 24 小时内连发三个标签,把 2.3 版本的页编码拆成结构平面与值平面,稀疏数据不再被迫走稠密布局,LanceDB 侧则把两个月前刚从 LSM 改名为 MemWAL 的那套写入 API 再改名为 RTE;Databricks 同日发两篇,产品侧把 Agent 记忆做成 Lakebase 上的 Beta 服务,研究侧的 MemCurrent 给出它的两层结构——append-only 的原始轨迹加后台蒸馏出的派生知识,内部基准上通过率从
22.3%提到68.4%;AWS Clean Rooms 把 Databricks 加为数据源,跨组织协作的入口从「先复制一份到 S3」换成「注册一个 Delta Sharing share」;Prefect 3.9.0 把运行时的版本边界一次写清——下限抬到 Python 3.11,上限补到 3.15,Pendulum 的日期时间行为在 3.11 与 3.12 上转入弃用。四处动作的代价也各自写在明面上:早期不稳定 2.3 文件没有兼容路径、REST 端点换名要客户端跟着动、记忆库变成一项要治理的资产、旧调度行为要改。
Lance 2.3 把页编码拆成两个平面,LanceDB 把 MemWAL 改名成 RTE
事件概述
10 月 21 日 06:24 UTC 起,Lance 格式仓库在不到三个小时里连打 v14.0.0-beta.22、v14.0.0-beta.23、v14.0.0-beta.24 三个标签,前一晚 LanceDB 侧已在 10 月 20 日 17:07 UTC 打出 v0.41.0-beta.10。
这一批里分量最重的是 Lance 2.3 的 planar 页结构。PR #9920 定义了独立的 planar 元数据契约,PR #9921 紧接着把它实现出来,两个 PR 都标注在 10 月 20 日 08:35 UTC 合入,是同一个六段栈的前两段(顺序为 #9920 → #9921 → #9922 → #9923 → #9924 → #9925)。beta.22 还带上了另一项格式层定义:provider-managed clustering 元数据(#9878),把聚类这件事的持久化格式与具体算法解耦。beta.24 补进实验性的 PCA 模型与查询预变换(#9967),beta.23 允许用给定样本训练 IVF(#10188)。
LanceDB 的 beta.10 则是破坏性的一版,两条 breaking change 都在用户可见面上。第一条是命名:#4598 把 MemWAL 的全部对外 API 改名为 RTE(realtime engine),横跨 Rust、Python、TypeScript、Java 与 REST 线格式。距 #4075 把 LSM 改名为 MemWAL 只过了约两周。第二条是 blob 布局:#4589 把 blob 统一成四个可空字段并支持外部字节区间。次日的 beta.11 只有文档,其中一条正是新命名的 RTE 上手指南(#4548)。
技术解析
- planar 页的两层结构:#9920 定义的是一份「不稳定」的 Lance 2.3 planar 页契约,包含彼此独立的结构平面与值平面,附带稀疏槽位域、索引化字典项,以及它自己的递归压缩语法;这份新 schema 不 import 稳定的 2.1/2.2 编码 schema。PR 正文说明本段只含规范与生成的 Rust 绑定,读写实现与旧的不稳定声明清理在后续 PR 里,稳定格式字段与线上行为不变。
- 稀疏与稠密共用引擎:#9921 让 2.3 可以独立于值布局选择稀疏结构,稀疏宽值走 zipped 存储,稀疏常量不再物化值缓冲;稠密页与稀疏页共用 chunked、zipped、constant、no-values 四类引擎,索引化字典访问排在栈的最后一段。共享的编解码器改用执行元数据而非稳定的 protobuf 语法;稳定的 2.1/2.2 元数据在文件边界校验并转换,稳定写入方仍序列化自己原来的信封。早期不稳定的 2.3 文件没有兼容路径。
- 栈上其余四段:#9922 把不稳定声明从稳定编码 schema 中移除;#9923 约束 planar 的 sequence 与 offset 编码选择;#9924 降低 composite RLE 的选择与物化成本;#9925 给稀疏 planar 页加上索引化取值。
- 聚类元数据与算法解耦:#9878 在
Manifest上放一组重复的不可变 clustering 定义(含id、有序的列 field id 列表、provider、version),DataFragment与IndexMetadata用可选的clustering_id引用同一 manifest 里的定义;provider 的额外信息走已有的Manifest.table_metadata,键名按<provider>.<clustering_id>.<key>命名空间化,不新增字段。PR 正文明确:本段只定义持久化格式,运行时支持与 provider API 另做。 - 索引侧三项:#9967 加实验性 PCA 模型与查询预变换,训练在 f64 下算统计量与特征分解,存储的模型与投影输出用 f32;内存训练改为直接读 Float16/Float32/Float64 输入缓冲,转成 f64 只在均值累加与逐批中心化时发生,省掉整份 f64 输入拷贝。测量环境写的是 Apple M3 Max、macOS 27.0.1、Rust 1.98.1、仓库的
release-with-debugprofile。#10188 允许用外部给定样本训练 IVF;#8662 让 streaming coreset k-means 支持 f64 质心。 - 读取侧性能:#10163 按 id 取行不再读删除文件;#10178 只打开含被投影字段的数据文件;#10153 把默认 AIMD 上限提到
10k;#9943 缓存向量索引段的 ownership mask;#9945 通过 f32 SoA 质心表训练与编码 PQ 码本;#10187 对重复的定长向量做字典编码;#9938 从尾部读里惰性解码列元数据。 - 正确性:#9865 把 overlay 里的陈旧行纳入 indexed merge insert(标为 Critical Fixes);#10145 修 RLE 压缩的 mini-block 字典值读取;#10041 在 stable-row-id 表上及早重映射 address 域索引;#10076 允许在显式合并窗口内做分区再均衡;#9691 避免重试错误后出现不完整的无序列举。
- 其他接口面:#10176 让 managed blob 支持 data file parts 与描述符复用;#10192 补上 LanceNamespace 缺的 spec 操作;#9965 与 #9966 把 MinHash LSH 索引暴露给 Java 与 Python。
- RTE 改名覆盖到线格式:#4598 的对照表列出
MemWalWriteSpec/MemWalStats→RTEWriteSpec/RTEStats,enable_memwal/flush_memwal/compact_memwal/checkpoint_memwal→ 对应的*_rte,查询与 merge insert 上的use_memwal→use_rte,Java 的LanceDbTableMemWal→LanceDbTableRTE。REST 路由从/enable_memwal/换成/enable_rte/,响应键memwal_spec换成rte_spec,服务端 SQL 关键字变成ALTER TABLE ... SET RTE。PR 正文强调线格式变了,必须与 sophon 侧(lancedb/sophon#8870)一起发布。Lance 自己拥有的名字(MemWalIndexDetails、DatasetMemWalExt、mem_wal路径等)与内部Lsm*模块不动,文档里描述底层机制时仍写 MemWAL。 - blob 统一成四字段:#4589 之前,TypeScript 拒绝外部 blob 字节区间,TypeScript 与 Rust 的
blob()helper 只声明Struct<data, uri>;现在两者都声明可空的data、uri、position、size四个子字段,与 Python 对齐,专用的区间 helper 被移除。append 与 merge insert 会把输入归一化到存储时的 blob 布局:四字段目标为缺失的区间字段补类型化 null,两字段目标只在整条流里两个区间字段逻辑上都是 null 时才接受四字段输入,出现可见的非 null 值就中止操作且不提交前面的批次。区间校验遵循结构体与 list 上的祖先有效性——被 null 父节点隐藏的物理区间槽不参与校验。破坏性:Rust 的blob()与blob_with_options()现在返回四个子字段,从该类型构造StructArray的调用方必须提供四个数组(未使用的position与size补类型化UInt64Array);两字段的既有表仍可读可写。 - 验证口径:#4598 报 Rust 单测
1,533通过、Java37通过、Python 定向测试708通过、TypeScript606通过;#4589 报 Rust blob coercion 测试347项、append 校验回归89个用例、TypeScript697项、Python477通过2跳过。
行业影响
planar 是 Lance 2.3 在编码层的一次重写。把结构与值分成两个平面,直接收益落在稀疏数据上:过去稀疏列要么按稠密布局付物化代价,要么走特例路径,现在两者共用同一批引擎,稀疏宽值走 zipped、稀疏常量不物化,而稠密数据不用为此多付任何东西。代价写在 PR 正文里——早期不稳定的 2.3 文件没有兼容路径,任何在 2.3 开发分支上写过数据的环境要重新生成。
MemWAL 到 RTE 的改名则是另一种信号。两周前 #4075 刚把 LSM 改成 MemWAL,理由是写入路径的实现形态已经收敛成「内存 WAL 加 SSTable 分层」;现在又改成 realtime engine,说明这套路径的定位仍在调整,从「一种存储结构」往「一种实时写入引擎」移。对外部使用者,这一版的现实成本不在语义而在端点与字段名:REST 路由与 SQL 关键字都变了,任何已经对接的服务端客户端都要跟着改,而且必须与 sophon 侧同步发布。
相关链接
- Lance v14.0.0-beta.22 发布说明
- Lance v14.0.0-beta.24 发布说明
- LanceDB v0.41.0-beta.10 发布说明
- LanceDB v0.41.0-beta.11 发布说明
- PR #9920:为 v2.3 定义独立的 planar 元数据
- PR #9921:实现 Lance 2.3 的 planar 页执行
- PR #9878:定义 provider-managed clustering 元数据
- PR #9967:PCA 模型与向量预变换
- PR #10188:用给定样本训练 IVF
- PR #10163:按 id 取行不读删除文件
- PR #10178:只打开含被投影字段的数据文件
- PR #9865:indexed merge insert 纳入 overlay 陈旧行
- PR #10176:managed blob 的 data file parts 与描述符复用
- PR #9965:把 MinHash LSH 索引暴露给 Java
- PR #4598:MemWAL API 改名为 RTE
- PR #4589:归一化 blob 布局并支持外部字节区间
Databricks 把 Agent 记忆做成 Lakebase 上的两层存储:MemCurrent 与 Agent Memory 同日落地
事件概述
10 月 20 日,Databricks 在 17:26 GMT 与 18:15 GMT 连发两篇。产品侧的《Introducing Agent Memory on Databricks》(Sirui Sun、Nihit Desai)宣布 Agent Memory 在 Agent Bricks 上进入 Beta,跑在 Lakebase——Databricks 的 serverless Postgres——之上。研究侧的《MemCurrent: Designing Persistent Memory for Production Agents》给出它背后的架构与评测。
产品侧的拆分是三块:managed sessions 按框架原生格式记录每一轮会话的消息、工具调用与结果,形成有序历史;managed memory 保存值得记住的东西——profile、preferences、domain knowledge、workflows——会话开始时注入一份「已知道什么」的索引,会话内用混合的关键词与语义检索找细节;memory pipelines 在后台按需求或按周期把会话蒸馏成长期记忆,抽取持久事实与偏好、去掉重复、用更新的会话替换被推翻的事实。官方强调 sessions 与 memories 都落在用户自己的 Lakebase project 里,独立于任何 agent 框架,可以读取、导出、删除,也可以给 memory pipeline 下指令来约束它保留什么,例如「保留持久的客户偏好,忽略一次性的调试笔记」。
研究侧要解决的是一个具体的两难:agent 在质量与效率之间往往只能取一头。MemCurrent 的答案是把记忆分成 episodic 与 derived 两层,再配三种访问模式。内部基准上,无记忆的通过率是 22.3%,MemCurrent 是 68.4%,作为天花板的 gold injection 是 78.6%;Mem0 在同一基准上是 43.9%。
技术解析
- 三种访问模式各就各位:官方表格把接入方式分成 plugin(在会话固定点自动读写,在线计算,立即生效,代价是运行成本与延迟,且记忆不需要时也照常消耗 token)、tool(agent 自己决定读写时机,灵活,但质量受 agent 能力约束)、offline pipeline(按调度或触发在后台更新,异步批处理,成本低延迟低,代价是更新有延迟)。MemCurrent 三种都用,各放在合适的位置。
- 两层记忆:episodic 存原始会话轨迹,append-only,由 plugin 在会话运行时逐步记录;derived 存从轨迹里蒸馏出的知识,以文件形式放在一个结构化知识库里,顶层有一份自动生成的
memory.md索引描述文件结构。derived 的写入有两条路——agent 工具add_memory/update_memory/delete_memory处理显式请求(例如「不要把脚本写到 /tmp」),离线 dreaming pipeline 负责剩下的隐式学习,并清理整个库:拆分过大的文件、合并重复、解决冲突。 - 读取分三层:会话开始时 plugin 注入记忆索引,让 agent 在动手前就知道自己知道什么;会话中
search_memory返回查询的 top 匹配(可能是过去轨迹里的一步,也可能是记忆文件里的一行),fetch_memory按标识取回完整条目(session ID 或文件路径)。 - 内部基准的构造:从
12K+ 条 Genie 会话出发,挖出3K 条含「值得记忆」信号的候选,为每条起草一个带评分 rubric 的后续问题,同用户的其他会话充当填充;对抗式 judge 按7条标准筛(知识是否真的存在、是否用户专属、是否回答问题所必需、是否自然、是否可验证等),人工复核后留下114个测试用例、29个用户、2,233条历史会话。与 LoCoMo、LongMemEval、ConvoMem 这类开源基准的差别有三处:领域是企业数据工作而非模拟人设的闲聊;记忆要驱动动作而非只给出答案;用例覆盖5种记忆类型与11种场景。 - 数字:内部基准上 MemCurrent 通过率
68.4%、延迟252秒、token418K,三项都是最好;相对无记忆是通过率3倍、快1.35倍、省1.44倍,产品篇里的另一处口径是「少用31%的 token、快26%」。三个开源基准上平均88.1%,与 full context 的87.8%持平,而每问题输入 token 约12倍之差(8.4K 对103K);在历史最长的两个基准上它超过 full context——把所有历史塞进 prompt 反而把 agent 弄糊涂了。 - 消融结论:只用 episodic 是
35.8%,只用 derived 是66.1%,两者相加68.4%;只靠离线 dreaming 是63.5%,只靠在线工具是53.9%,组合66.1%。官方的读法是分工成立:dreaming 负责后台抽取与整合,在线工具负责让显式请求立即生效。 - 两个真实例子:其一是 agent 写了正确的 SQL 却没读执行结果就自信地产出一张幻觉表格,用户纠正后这条教训进了记忆,下次它先读结果再回答;其二是「top 5 SDP customers」这个问题原本需要
11次工具调用、8个子 agent、近六分钟,workflow 存进记忆后,一个相关问题只要2次工具调用、1个子 agent、41秒。 - 工程位置:Agent Memory 与 agent hosting、Databricks Sandbox、Unity Gateway、预置 MCP server、tracing 与 evaluation 并列在 Agent Bricks 里;同一篇提到 Genie 已经跑在同样的基础设施上。
行业影响
MemCurrent 值得数据基建从业者读,是因为它的形状和一套存储系统高度同构:append-only 的原始日志加后台合并出的派生视图,读路径分层(先看索引再取详情),合并过程负责去重、解决冲突、拆分过大的单元。差别在于「合并」这一步由模型而不是比较器来做,冲突消解的依据是语义而不是版本号。这意味着记忆库继承了数据库的所有老问题——什么时候合并、合并失败怎么回滚、谁能读到谁的记忆——却没有事务与约束可用。
把它放在 Lakebase 上也是一个明确的信号:Databricks 给自家的 serverless Postgres 找到了一个新负载,而记忆的持久性、可导出、可删除与按用户隔离,都直接落在数据库已有的能力上。对平台团队,值得留意的是官方把「记忆归谁管」写进了产品承诺——数据在自己的 Lakebase project 里,可以读、导出、删除,也能给 pipeline 下指令。这在自建方案里通常是最后才补上的一环。
相关链接
- Introducing Agent Memory on Databricks(2026-10-20)
- MemCurrent: Designing Persistent Memory for Production Agents(2026-10-20)
AWS Clean Rooms 把 Databricks 收为数据源:注册一个 Delta Sharing share,不再复制一份到 S3
事件概述
10 月 20 日 12:23 GMT,AWS 在 what’s new 上发布一项:AWS Clean Rooms 支持 Databricks 作为数据源。协作成员与其伙伴可以直接查询一张通过 Delta Sharing 共享出来的 Databricks 表,不需要搬动或暴露源数据。Databricks 与 AWS Glue、Snowflake、Amazon Athena 并列,成为 Clean Rooms 支持的数据源。
官方给的前后对比是:此前,数据在 Databricks 上的成员必须先把数据导出或复制到 Amazon S3,才能在协作里当成一张表来用,这既多出一条要维护的管道,也多出一份要治理的副本。现在只需提供 workspace URL、schema、table 以及一个 Delta Sharing share,就能把一张 Databricks 表直接注册进协作。官方举的例子是:一家把客户数据放在 Databricks 的零售商,可以与媒体伙伴在 Clean Rooms 里做投放度量,跑的是获准的分析,查询的是自己那份 Databricks 数据。
技术解析
- 注册的四项输入:workspace URL、schema、table,以及一个 Delta Sharing share。缺的是传统意义上的「数据搬运」环节——没有导出作业,没有 S3 中转桶。
- 查询面而非存储面:Clean Rooms 拿到的是一个可查询入口,源数据留在 Databricks 一侧。这与 Vol.98 报道的 UNREGISTER/REGISTER 是同一类交接——目录交出 metadata 指针、数据文件原地不动——只不过这里交出的是只读查询权,且附带 Clean Rooms 自身的分析约束。
- 治理面的变化是这次的主要收益:少一份副本意味着少一处要单独做生命周期、访问审计与血缘的地方。对已经有多份导出副本在跑的组织,这一条比查询性能更有分量。
- 边界:官方未在条目里给出此项的区域覆盖,只指向 AWS Clean Rooms 的 AWS Regions 表。
行业影响
开放表格式解决引擎可换,Delta Sharing 解决「不复制就能读」,Clean Rooms 解决「两家一起算但互看不到对方的原始行」。这三件事过去各自解决一段,中间的连接处靠导出作业补。这次把 Databricks 直接接进 Clean Rooms,等于把连接处又拆掉一段:跨组织协作的入口从「先复制一份」变成「注册一个 share」。
值得注意的是这条路径的对称性——Vol.98 里 Databricks 用判据和 REGISTER/UNREGISTER 论证「不复制就能搬走」,这里 AWS 用 Databricks 自己的开放协议把 Databricks 接进自家协作产品。开放格式与开放协议的收益不只属于提出方,也属于任何愿意实现它的一方。代价仍在治理侧:注册入口变简单了,对「谁注册了什么、跑过哪些分析」的记录要求反而更高。
相关链接
Prefect 3.9.0「Pendulum’s last swing」:Python 3.10 退场,3.15 进场
事件概述
10 月 21 日 03:27 UTC,Prefect 发布 3.9.0,副标题是「Pendulum’s last swing」。三条破坏性变更与一条新特性都落在同一个主题上——这个编排框架支持什么样的 Python:
- 放弃 Python 3.10 支持(#23324)
- 移除已弃用的 Runner 执行路径(#23496)
- 在 Python 3.11–3.12 上弃用 Pendulum 的日期时间行为(#23328)
- 新增 Python 3.15 支持(#23400)
也就是说,下限从 3.10 抬到 3.11,上限补到 3.15,中间那条长期存在的 Pendulum 日期时间行为在 3.11 与 3.12 上转入弃用。发布说明把 Pendulum 写进了版本号,说明这条依赖的退场在 Prefect 这边是被当作一件正式事情来办的。
技术解析
- 版本边界两头一起移动:#23324 与 #23400 出现在同一次发布里,意味着 CI 矩阵、依赖解析与镜像都要跟着重排。对还在 3.10 上的部署,这不是警告而是阻断。
- Runner 执行路径被移除:#23496 删掉此前已标记为弃用的路径。升级前需要确认现有 worker 与 deployment 没有走在这些分支上。
- Pendulum 的退场按版本分步:#23328 只在 Python 3.11–3.12 上弃用 Pendulum 的日期时间行为,不是一次性移除。发布说明未在本条里给出替代写法,使用者需要自行确认受影响的调度与时区处理路径。
- 运行时开销:#23473 降低投递事件与 API 日志所消耗的 CPU;#23412 为「空部署调度」加了可选的清理开关;#23426 让本版本能读取含它不认识的 action 类型的 automation,避免服务端升级后旧配置读不出来。
- 可靠性修复:#23421 让取消与暂停的观察者能从 websocket 中断里恢复;#23341 跳过对已经占有限额槽的运行的重复 worker 提交;#23325 让 runner 的健康检查在 API 处于维护状态时仍报健康;#23397 修
retry_condition_fn下被静默跳过的任务重试;#23404 修visit_collection在 id 复用后返回另一个对象缓存结果的问题。 - 调度与部署细节:#23396 让
RRuleSchedule.from_rrule()保留 pytz 时区名;#23374 在 git checkout 已存在时检出被 pin 的commit_sha;#23381 修prefect deploy丢弃由 step 输出模板化出来的 list 项;#23440 让prefect deployment delete --all删掉每一个 deployment;#23435 让暂停被拒时异步pause_flow_run返回 run input。 - 供应链与依赖:#23483 因 eMudhra CA 事件更新
certifi与uv;#23476 与 #23478 分别处理 FastAPI 新版本下请求体的min_length/max_length约束,并把fastapi限制在0.151以下。
行业影响
编排框架的版本边界是一条容易被忽略的成本线。Prefect 这次把下限抬到 3.11、上限补到 3.15,实际动作是把维护窗口明确成一段区间,而不是「尽量都支持」。对数据平台团队,直接的影响在镜像与 CI:还在 3.10 上的 flow 运行环境要在本版本前完成迁移,而想尝鲜 3.15 的环境终于有了官方支持。
把 CA 事件与 FastAPI 版本约束写进同一个发布说明,也是这几年的常态:编排层不再只关心「任务怎么跑」,它本身就是供应链上的一个节点,上游的一个证书吊销或一个 Web 框架的行为变更,都会在编排框架的补丁里出现一次。
相关链接
- Prefect 3.9.0 发布说明
- PR #23324:放弃 Python 3.10 支持
- PR #23496:移除已弃用的 Runner 执行路径
- PR #23328:在 Python 3.11–3.12 上弃用 Pendulum 行为
- PR #23400:新增 Python 3.15 支持
- PR #23473:降低投递事件与 API 日志的 CPU 开销
- PR #23421:从 websocket 中断恢复取消与暂停观察者
- PR #23341:跳过已占有限额槽的重复提交
编者评
把这四条放在一起看,最清楚的一条线索是「拆开」。Lance 把一页数据拆成结构平面与值平面,让稀疏与稠密各走各的路;MemCurrent 把记忆拆成原始轨迹与蒸馏知识,让写入分成在线工具与离线两条;AWS 把跨组织协作拆成注册入口与数据本体;Prefect 把「支持哪些 Python」从一个模糊区间拆成明确的下限、上限与一条正在退场的依赖。四处动作都没有新增什么能力,它们做的是给原本黏在一起的东西划出缝,然后给每一半起名字——planar、RTE、episodic / derived、Delta Sharing share、3.11–3.15。名字本身成了这批进展里最值钱的部分,因为名字定下来之后,边界、文档与迁移路径才有地方挂。
代价也随之从「系统内部」移到「使用者手上」。Lance 的早期不稳定 2.3 文件没有兼容路径,LanceDB 的 REST 端点换名要求客户端与 sophon 侧同步发布,Agent Memory 让记忆库变成一项要治理的资产,Prefect 把 3.10 上的部署挡在门外。这几处都不是能靠配置绕过去的类型,它们都要求一次显式动作。
本期还有四条留在桌面上的观察。Google Cloud 在 10 月 20 日给 Spanner 的 GoogleSQL 与 PostgreSQL 两种方言都加上了近似聚合函数,用统计估计换大表上的计算速度与资源(GoogleSQL、PostgreSQL、HyperLogLog++、Sketches),同日的 Cloud SDK 590.0.0 里还有 Dataflow 的 gcloud dataflow config-store-settings 转 GA、Dataplex 修掉 dbt 资源名含点导致的导入失败。dbt Labs 在 10 月 20 日宣布 dbt State 有了永久免费档:自托管用户每月 1,000 DATT(Daily Active Target Tables,按被跳过或克隆的模型或测试每天计一次),平台用户到 2027 年 3 月前每月 2,000 DATT(博文)——dbt State 的机制本专栏在 Vol.83 与 Vol.87 已展开过,这次新增的是计费单位与免费额度。Ray 在 10 月 21 日同日打出 2.58.1 与 2.57.1 两个补丁,内容一致:修 Ray Data 在输入直传输出的块上注册越界回调导致的伪回调报错(#66369 及各自的 cherry-pick),以及在 base-extra 镜像里装上 google-cloud-cli。AWS 同日另有 DynamoDB global tables 支持解除副本关联——停掉某个副本的双向复制而不删表不删数据,账户也能带着自己的表退出多账户共享的全局表。
需要交代的是,中文源这一轮继续没有可用条目:阿里云国际站博客、阿里云开发者社区大数据页、火山引擎文档站与开发者社区四个入口均返回 200,但 10 月 20 日与 21 日的时间戳命中数为 0。开源侧 10 月 20 日至 21 日的窗口内,除 Lance 与 LanceDB 外只有 ClickHouse 的三个分支补丁(26.9.23.15 / 26.8.32.14-lts / 26.7.35.11,release body 为空)与 MatrixOne v4.1.6;Trino 仍停在 484、Doris 仍停在 4.1.5、Pinot 仍停在 1.6.0 RC0、Hudi 仍停在 1.1.2、Paimon 仍停在 2.1.0、Iceberg 仍停在 1.12.0、Delta Lake 仍停在 4.4.1,Flink 博客最新仍是 10 月 10 日的 CDC 3.7.0,dbt 博客除上面的免费档外最新仍是 10 月 9 日。