Glean 拾遗
日刊 · 时间线

每天拾几条。

2026-09-24 · 周四 3 条
← 09-23
日历 ▾
2026 · 09
MoTuWeThFrSaSu ·123456789101112131415161718192021222324252627282930
有日刊 今天
06:00

让非法状态无法表示:两个数据库建模案例

Applying "Make Invalid States Unrepresentable" to Schema Design

作者用两个生产案例说明如何把「让非法状态无法表示」落到数据建模上。案例一:把连续时间线表示为 List (Date, Date) 会留下空隙和重叠,改为只存切分日期的 Set Date,连续与不重叠约束就天然成立,再切一刀只需往集合里加一个日期。案例二:合约系统把 fixed 与 default 合约都塞进同一张表,结束日期是可空字段,加上按单份合约修改的 API 毫无防护,线上确实出现过合约空缺,排查耗费数小时工程时间;把 default 合约从表中移除、由「没有 fixed 合约」推断得出后,空缺与可选结束日期同时消失。作者认为根源是用 OO 思维把每个概念都物化成一行,把行当作序列化对象而非命题,这会反过来污染整个系统设计。文末给出禁止合约重叠的两种做法:数据库 excludes 约束,或写模型允许重叠、读模型投影时用下一份合约的起始日截断。适合做数据建模与后端 schema 设计的工程师阅读。

kevinmahoney.co.uk · 6 min · Data Modeling · Database · Domain Modeling · Software Engineering
06:00

被长期低估的一致性:拆服务之前先算清 ACID 的账

Consistency is Consistently Undervalued

作者指出,微服务与非 ACID 数据库流行之际,最容易被忽略的代价是 ACID 事务。文章以「一个用户必须有一个 profile」为约束,展示单库事务如何同时保证原子性与隔离性:创建、外键校验都在一个事务内完成。一旦把 users 与 profiles 拆成两个服务,原子性、隔离性、外键约束全部失效。作者逐一推演失败路径:profile 服务失败会留下裸 user;补写的 delete 回滚本身会失败,或进程断电留下中间态;即使两个服务 100% 可靠,并发线程仍会看到 user 无 profile 并重复创建;外键失效后 profile 可指向已删除或改过的 user ID;定时清理 dangling 数据也仍存在不一致窗口。结论是应用层的补偿逻辑最终等价于重造一个半成品、带 bug 的分布式 ACID 数据库,采用微服务或 NoSQL 之前应先理解自己引入了什么复杂度。适合准备拆分服务或迁移 NoSQL 的后端工程师。

kevinmahoney.co.uk · 5 min · Database · Distributed Systems · Microservices · Software Engineering
06:00

Claude Opus 5.5 发布:成本降四成,对齐审计得分居首

Claude Opus 5.5: 40% cheaper, best alignment scores

Anthropic 发布 Claude 5.5 家族首个模型 Opus 5.5,官方称其在多数工作上达到 Claude Fable 5.1 的水平,服务成本比 Opus 5 低 40%。每百万 token 输入 $4、输出 $20,缓存读取降至 $0.20(降幅 60%),默认设置下典型负载成本下降四成,输出速度提升 30% 以上。在近 2000 个模拟场景的自动化行为审计中取得迄今最高分,越界与越狱行为少于前代;因生物与网络安全能力接近 Fable 5.1,采用同类 safeguard——多数网络安全任务回退至 Opus 4.8,并引入 preserved thinking 反蒸馏机制。性能表格附有标准误差与第三方评测来源,Anthropic 也承认在该能力区间上 benchmark 分差已不足以反映真实差异。适合评估模型选型、agent 成本与部署合规的工程团队。

www.anthropic.com · 23 min · Ai Safety · Anthropic · Claude · LLM · Model Comparison · Prompt Injection