FutureX · Database
本周要点
· Snowflake Horizon 接入 Scan Plan API,Iceberg 细粒度权限的首个实现放在 catalog 侧
· Databricks 两篇自报数据都在去掉重复的数据副本,OceanBase 则用一个引擎包下全部负载
· DuckDB 自测 agent mode 让 agent 读回的 token 少了 59%,总成本几乎没变
▎ Iceberg 细粒度权限的首个实现放在 catalog 侧,外部引擎不必自己执行规则
10 月 3 日 Iceberg REST 规范合入 read-restrictions。本周 Snowflake 称 Horizon Catalog 已支持 Iceberg REST Scan Plan API:catalog 先按用户身份评估行访问和列脱敏策略,生成授权后的 scan plan,外部引擎只拿到允许它读的数据切片。此前外部引擎查询带这类策略的表会直接报错。Snowflake 称 Spark、Trino、PyIceberg、Flink、DuckDB 只要实现 Scan Plan API 就能用,不必各装一套引擎专属的安全插件。
上期关注的是引擎能否自己执行 read-restrictions,执行不了时能否让查询失败。Snowflake 把规则执行挪到了 catalog,引擎要过的门槛就变成了是否支持服务端 scan planning。有两处口径要分清:「业界首个」是 Snowflake 的自称;Scan Plan 规范只管读,受策略保护的表的写入治理是 超出规范的厂商扩展。
Databricks 同周的两条更新也把权限放在自家 catalog 里:Workday Data Connect 通过 Lakehouse Federation 以零拷贝方式接入 Unity Catalog(公开 Beta),Databricks Apps 的 on-behalf-of-user 授权 GA,应用以终端用户的身份访问数据。格式和联邦查询在走向开放,「谁能看到哪一行」仍由平台的 catalog 裁决。对多引擎用户来说,选哪个 catalog,实际上也是在选由谁来执行权限。来源:Snowflake、Databricks
▎ Databricks 两篇自报数据的共同主张:分析服务和批量导入都不必另存一份数据
10 月 7 日的 Databricks 官博称,其生产 SQL 负载在 2024 年底比 2022 年的基线快 77%。这个口径来自自家生产查询编出的 Performance Index,不是公开基准。文中还称 Lakehouse//RT 延迟可低至 10 ms、最高支撑 12,000 QPS,可直接查询受治理的湖仓表,不再需要独立的 OLAP 服务副本和 CDC 链路,这正对着 ClickHouse 系实时分析的定位。
10 月 9 日的 Lakebase 文章介绍了 LTAP 架构:由 Spark 并行生成 Postgres 的 heap 页,主节点不再承担批量导入。公司称导入 1 TB 用时不到 5 分钟,但这只算生成 heap 页,不含建索引,并行建索引还在开发中。披露的 beta 客户每天经 Synced Tables 导入约 10 亿行,原来要跑 8 小时以上,只能大幅超配 OLTP 资源。
两篇文章针对的是同一种成本:为不同负载各维护一份数据,以及维持它们同步的链路。两组数字都是厂商自测,缺少第三方对照。OceanBase 10 月 9 日发布的 EvolvingX 代表另一条路:在同一套 Paxos 三副本架构里同时跑 OLTP、HTAP 和分析负载。厂商称 3 节点可持续支撑每秒 15 万笔写入、P99 写入在 1ms 内,同样未经复测。Databricks 是数据只存一份、引擎分开;OceanBase 是连引擎也只用一个。来源:Databricks、Yellow.com、Cryptopolitan
▎ 面向 agent 的数据库改动,本周能测到的收益在防误读和隔离,不在账单
DuckDB v2.0 的 CLI 会识别调用方是否是编码 agent:设置了 Claude Code、Codex、Cursor 等工具会写入的环境变量,stdout 不是终端,命令行也没指定输出格式,三条同时满足就进入 agent mode。进入后,表格改成紧凑的 Markdown,结果被截断时会明确说明,失控的查询会被提前终止,错误改用 JSON 返回。它针对的问题是:默认渲染器截断大结果时只在中间留一行省略号,模型容易把没看到的数据当成完整结果。
官方实验让 Claude Code 回答 TPC-H SF100 的 22 道题,开启和关闭各跑三遍,132 次全部答对。agent 读回的 DuckDB 输出从 12.36 万 token 降到 5.08 万,但这只占总输入的约 0.5%,总成本和耗时都看不出差别,对话轮数还从 224 增加到 237。
同一天,Databricks 发布了给每个编码 agent 单独拉一个 Lakebase 分支的参考工作流:分支基于 copy-on-write,官方称一秒内即可创建,并建议从脱敏后的种子库而不是生产库拉分支。分支在 Neon、Supabase 等 Postgres 厂商那里早已是标配,变化在于 Databricks 开始把它当作 agent 开发流程里的默认环节。9 月下旬以来,阿里云称新建实例约 80% 由 agent 创建,Supabase 称这一比例为 70%,都是厂商口径。本周这两项改动没有省钱,解决的是 agent 读错结果、在共享库上误改的问题。来源:DuckDB、Databricks
▎ 短讯
Polars Python 2.0.0 发布:SQL 窗口函数改在聚合后的行上运行。据社区解读,LazyFrame 默认改走 streaming engine,join、group by 等操作不再保证行序,依赖隐式行序的下游要显式指定 maintain_order。
LanceDB v0.40.0 稳定版基于 Lance 13.0.0。v0.41.0 的 beta.0 到 beta.3 都带破坏性变更(拒绝零向量搜索探针、list_databases 改返回迭代器、远程 API 实体名校验统一),升级前要逐项核对调用。
Qdrant v1.19.2 不再在每次 upsert 时重写完整的 sparse posting list,稀疏向量写入明显变快。
Google 开源 EmbeddingGemma 2(270M–740M 参数,768 维多模态)。它支持 Matryoshka 式截断:100 万条向量从约 1.5 GB 截到 128 维后约 250 MB,召回损失需要自行评估;「优于两倍参数的模型」是 Google 自报。
Infino 结束隐身模式,获 750 万美元种子轮,由 Bessemer 领投。它用同一个引擎在对象存储的 Parquet 上做全文检索、向量检索和 SQL,与 10 月 4 日报道的 turbopuffer v3 一样把 ANN 当作几种索引之一;「成本低约 10 倍」是自报数字。
Snowflake 称 Optima Planning 已能把执行反馈复用到全新查询,案例是一条 19 表连接查询从近 2 小时降到 30 秒,属挑选过的个例。Asos 收到疑似黑客推送,对方自称攻破其 Snowflake 实例,目前只有攻击者的单方说法。
上期看点回看
· 已发生|Snowflake 可转债在上期发布前的 9 月 28 日已经定价:规模扩至 37.5 亿美元,为 0% 票息,分 2029、2031 年到期两期,10 月 1 日交割。转换价和资金用途本刊未核实。
· 已发生|ClickHouse 9 月 29 日的公告已给出产品形态:Fabric 原生 workload 进入公开预览,OneLake 读取 GA、写入公开预览。workload 的 GA 时间未公布。
· 未见更新|本周语料未见 Spark、Trino、DuckDB 发布 read-restrictions 实现。Snowflake Horizon 走的是由 catalog 生成授权 scan plan 的路线,不依赖引擎自己执行规则。
· 待到期|PostgreSQL 19 RC1(10 月 15 日)和 GA(10 月 29 日)均未到期。
· 已发生|Weaviate v1.40.0 于 10 月 6 日正式发布,距 10 月 1 日的 rc.2 不到一周。
· 待到期|DuckDB 10 月 9 日已介绍 v2.0 CLI 的 agent mode,正式版尚未发布。
下周看点
· Spark、Trino 或 DuckDB 是否发布可对接 Horizon 的 Iceberg REST Scan Plan API 实现,并能读出带策略的表。
· Apache Paimon 2.1.0 RC4 投票是否通过并正式发布。
· PostgreSQL 19 RC1:10 月 15 日,GA 排期 10 月 29 日(上期看点,未到期)。
· DuckDB v2.0 正式版:10 月下半月(上期看点,未到期)。
FutureX · 记录未来如何发生
素材来源多方媒体/网络新闻