datainfra前沿动态 · Vol.112

Databricks 把唯一性保证写进表结构,UNIQUE 约束加 RELY 在 TPC-DS 10TB 上砍掉 99.99% 的 shuffle、查询提速至多 12 倍;Claude Platform 原生 OpenTelemetry 直连 Databricks MLflow,Agent 轨迹落进 Unity Catalog 的治理半径;ClickStack 双月迭代 v2.39 至 v2.42:仪表盘迎来即席过滤,PromQL 铺满全部图表,每条查询带上来源

本期聚焦 11 月 3 日的三条动作:Databricks 给 Delta 表补上多重唯一性约束与 RELY 信任开关,业务事实从管道代码搬进表元数据,优化器据此消除冗余 join 与 DISTINCT;Claude Platform 的原生 OpenTelemetry 导出指向 Databricks MLflow,Agent 的模型与工具调用变成 Unity Catalog 里可治理、可 SQL 查询的表;ClickStack 用 v2.39 至 v2.42 四个小版本把调查体验推向即席过滤与查询级来源归因。三条共同指向一个方向:语义、遥测与操作正在成为数据平台的一等公民。

DataInfra Databricks Delta Lake Unity Catalog UNIQUE 约束 查询优化 RELY OpenTelemetry MLflow Claude Agent 可观测性 ClickStack ClickHouse PromQL Lance

11 月 3 日,三条动态都在把原本散落在管道代码、运行时遥测与用户操作里的信息收进系统内部:Databricks 给 Delta 表补上多重唯一性约束与 RELY 信任开关,数据模型里的业务事实从数据质量脚本搬进表元数据,优化器拿它换掉了几乎全部 shuffle;Claude Platform 的原生 OpenTelemetry 导出正式指向 Databricks MLflow,Agent 的每一次模型调用与工具调用变成 Unity Catalog 里的表,可观测性数据本身进入治理半径;ClickStack 用两个月四个小版本把可观测性栈推向 AI 时代的负载现实——即席过滤、PromQL 全图表覆盖、查询级来源标注,外加一个给 Agent 用的 MCP 健康检查工具。语义、遥测与操作,正在成为数据平台的一等公民。

Databricks UNIQUE 约束:把唯一性保证从管道代码搬进表结构

事件概述

Databricks 工程博客发布《Declare and optimize with UNIQUE constraints on Databricks》,UNIQUE 约束进入公开预览,面向 Unity Catalog 中的 Delta 表,支持 Databricks SQL 与 Databricks Runtime 18.2 及以上。此前 Delta 表的约束面只有一条路:PRIMARY KEY 标识表的行,外键引用它描述关系——一张表只能有一个主键,且主键列必须非空。数据模型里其余的唯一性保证(username 唯一、email 唯一、(workspace_id, external_user_id) 组合唯一)只能活在管道代码或数据质量检查里,用户和工具发现不了,查询优化器更用不上。UNIQUE 约束补齐了这一层:一张表可声明多个,列可为空,外键可以直接引用。

技术解析

  • 多重唯一性保证:PRIMARY KEY 与 UNIQUE 分工明确——前者是行标识(每表一个、列不可空),后者记录额外的唯一性保证(每表可多个、列可空)。可空列的语义遵循标准:多个 NULL 不算重复,非 NULL 值出现重复才违约。
  • 信息性而非强制性:与主键/外键一致,UNIQUE 在写入路径不做校验——声明 UNIQUE (optional_identifier) 不会让含重复值的写入失败。设计意图是把由摄入管道、上游系统或数据质量流程维护的保证变成表元数据,可被用户、工具与应用检视。
  • 外键引用与列位陷阱:外键可引用 UNIQUE 约束,父子列按位置对应,名字不必一致。父列列表的顺序若与 UNIQUE 定义不一致,约束依然有效,但 join elimination 会静默失效——这是官方文档明说的坑。
  • RELY 换性能:约束默认 NORELY,只记录语义;验证数据、确认管道持续维护后可重建为 RELY,Photon 计算上优化器据此消除冗余 join 与 DISTINCT 聚合。RELY 不校验存量也不强制增量——数据违约时,基于它的重写会产生错误结果,信任责任显式落在数据团队。删除被引用的约束需要 CASCADE(连带删外键),默认 RESTRICT。
  • 收益量化:10TB TPC-DS 基准上,UNIQUE 配 RELY 消除了超过 99.99% 的 shuffle,查询最高提速 12 倍。

行业影响

这是「约束即元数据」路线的又一次推进——主键/外键的 RELY 支持在前,UNIQUE 把覆盖面补到组合键与可空列。值得记住的取舍:Databricks 把强制执行留给管道与数据质量工具,优化器红利以人工背书为前提。开放表格式生态里「约束不强制」是行业默认(Snowflake、BigQuery 同样 informational),RELY 的价值在于把信任决策从引擎的隐含假设变成一条可审计的 DDL。对用户的实操顺序很清楚:声明零成本,RELY 前必须跑验证,此后背错数据的锅从引擎挪到了人。

相关链接


Claude Platform 原生 OpenTelemetry 进 Databricks MLflow:Agent 轨迹变成被治理的表

事件概述

同日,Databricks 宣布 MLflow 成为 Claude Platform 原生 OpenTelemetry 导出的支持目的地,公开 Beta。Anthropic SDK、Messages API 与 Claude Managed Agents 的原生 span 可直接送往 Databricks,经 Zerobus Ingest 落进 Unity Catalog 表,并与 MLflow experiment 关联;Claude Code 与 Claude Agent SDK 同样支持 OTel,可指向同一目的地。Agent 可观测性与数据平台的合流,在这里有了具体形态:轨迹不是堆在旁路存储里,一落地就在统一目录、权限与 SQL 查询能力的覆盖之下。

技术解析

  • 链路结构:Claude 原生插桩把 Agent 执行记录成 span(模型请求、工具调用),按 OTLP 导出;Databricks 侧由 Zerobus Ingest 接收,存入与 MLflow experiment 关联的 Unity Catalog 表。官方口径强调两个收益:高 QPS 低延迟摄取,以及对轨迹中敏感数据的治理(UC 权限控制、SQL 直查)。
  • 三步接入:Create Experiment(trace storage 选 Unity Catalog,指定 catalog 与 schema)→ 配置导出(workspace ID、region、spans 表,用 table-scoped OAuth token 走 Zerobus)→ 跑任务、在 experiment 的 Traces 页检查 span。输入输出捕获需显式 opt-in,content mode 设为 full。
  • 单条轨迹调试:MLflow 的 Analyze trace 动作引入 Genie Code 分析执行记录,解释失败来自缺失上下文、失败的工具调用还是昂贵步骤,可对解释追问。
  • 跨轨迹问题挖掘:MLflow Issues(Beta)用 Genie Code 跨 run 与会话识别复发问题——重复搜索浪费 token、缺参导致工具失败、响应格式不合规——归组并链接到支撑轨迹,可调度持续检测。修复后 issue monitor 为该问题建立评分器:评估近期轨迹定基线,对新轨迹采样评分,追踪问题是否回归。

行业影响

LLM trace 采用 OTel 这个开放协议,意味着 agent 评估栈可以直接长在数据基础设施上:轨迹是表,评估是实验与 SQL,治理是 UC。Databricks 拿到的差异化在「落地即治理」——别家的 trace 湖是纯存储,这边轨迹一进系统就带上权限、血缘与审计。竞争位也清楚:Langfuse、LangSmith、Arize 这类专门栈把评估与迭代体验做深,Databricks 用「统一治理+复用现有数据栈」打通用性。掂量的地方在接入摩擦:Zerobus 加 OAuth 配置比 SaaS trace 工具的一行 SDK 高出一截,公测成熟度也需要时间验证。

相关链接


ClickStack 双月报 v2.39 至 v2.42:调查动作进了产品,读负载可按来源归因

事件概述

ClickHouse 的可观测性栈 ClickStack 发布 9-10 月双月报,覆盖 v2.39 至 v2.42 四个小版本。仪表盘层最大的变化是即席过滤(ad hoc filters):调查中点选表格单元、group-by 单元或时序图上的某条序列即可加过滤条件,不再需要 dashboard 作者预先把每个字段做成下拉框;PromQL 从 8 月的预览扩展到编辑器内全部图表类型;每条查询现在携带 origin 标注,共享 ClickHouse 集群上的读负载第一次可以按来源归因。两个月的节奏也表明这套栈在小步快跑。

技术解析

  • 即席过滤:新的 Ad hoc keys and values 过滤类型支持 log/trace/metric 源的列与 map 键、PromQL 源的 label 名,操作符含等值、取反、正则与 LIKE;条件写入 dashboard URL,可分享过滤视图或存为默认;导入 dashboard 时即席条件自动重映射到本地源。raw SQL tile 用查询的 GROUP BY 子句解析可点选的列,解析失败时回退到字符串列。
  • PromQL 全图表化:number tiles、表格、饼图、热力图全部支持 PromQL;PromQL tile 走外部 API 管理,Prometheus dashboard 按代码管理就此打通;热力图新增 series mode。
  • 运维可见性:查询 origin 标注用于追踪共享集群上的读负载归属;Trace logs 标签页、对齐 OTel 惯例的 span 面板、从 chart explorer 直接建告警。
  • Agent 与采集侧:collector 新增 StatsD 与 span metrics 支持;新增 MCP service health 工具,给参与 on-call 调查的 Agent 一个标准化健康检查入口。

行业影响

可观测性产品正在把 AI 时代的负载现实当设计输入:dashboard 读负载挤占共享集群(origin 归因)、Agent 加入 on-call(MCP 健康检查工具)。即席过滤压缩的是「发现异常→改过滤→再看一眼」这一循环的时长,调查体验成为可观测化产品的主战场,与 Grafana 的 explore 模式同一逻辑。ClickStack 的打法依旧是借 ClickHouse 的成本与性能优势向 Grafana/ELK 的存量施压——双月四个小版本的速度本身就是竞争信号。

相关链接


编者评

把三条放回同一天看,格局比单条更清楚:语义上移——唯一性从管道代码进 schema,成为优化器可消费的元数据;遥测下沉——Agent 轨迹经 OTel 落进湖仓,可观测性数据本身变成被治理的资产;操作内化——调查时的即席过滤与查询来源标注,把人(和 Agent)的工作方式写进产品行为。数据平台的竞争正在从「存得下、算得快」转向「把散落在系统外围的语义、遥测与操作吸收进来」。开源侧版本动态:Lance v15.0.0-beta.9(11-03)引入 expire_versions——不读 manifest 即可清理历史版本的破坏性变更——并拆分 Dataset 索引生命周期;LanceDB 跟进 v0.42.0-beta.1(11-04);StarRocks 4.0.17(11-03)为例行修复。BigQuery 11-03 的 release notes 只有 Studio 左栏标签改名(Classic Explorer→Data、Repository→Source control,GA),DuckDB 官网同日刊出量化分析桌面化的用例文章,均为轻量动态。中文源本期仍无可用条目:阿里云博客 sitemap 与 RSS 入口均返回 404 壳页,火山引擎文档日期停在 10 月 26 日,观察窗口继续顺延。