一次审批为什么会写出半条数据?用 Interlock 把状态变更、审计与 Outbox 锁进 PostgreSQL 事务
订单审批、账号冻结、内容发布这类动作,表面上只是把一列状态从 pending 改成 approved。但在真实服务里,它往往同时意味着:记录谁批准了、把版本号向前推进、写入审计历史、保存幂等结果,并向...
最新内容
订单审批、账号冻结、内容发布这类动作,表面上只是把一列状态从 pending 改成 approved。但在真实服务里,它往往同时意味着:记录谁批准了、把版本号向前推进、写入审计历史、保存幂等结果,并向...
很多小型服务的异步需求并不复杂:用户下单后发一封邮件、生成一份导出文件、同步到第三方 API。业务数据已经放在 SQLite,队列却常常被拆到 Redis、Celery 或另一套消息系统中。系统看似更...
title: “不想为一个异步邮件任务再起 Redis:用 Honker 把事务性 outbox 放进 SQLite” slug: honker-sqlite-transact...
很多站内搜索的“第一版”并不难:业务数据在 PostgreSQL,搜索索引却在 Elasticsearch 或另一台搜索服务里;写入时再异步同步一份文档。真正麻烦的通常发生在后面:商品改名、库存变化、...
很多站内搜索的“第一版”并不难:业务数据在 PostgreSQL,搜索索引却在 Elasticsearch 或另一台搜索服务里;写入时再异步同步一份文档。真正麻烦的通常发生在后面:商品改名、库存变化、...
日志检索的难点通常不在于“能不能搜到一条记录”,而在于数据保留周期拉长后,索引节点、磁盘副本和计算资源是否必须始终绑定在一起。对需要保存大量日志或链路追踪数据、却只有一部分查询是高频查询的团队而言,传...
让 Agent 根据实时业务数据调整策略,通常会立刻碰到一个矛盾:它需要读到刚写入的事务数据,最好还能做分析;但我们又不希望一个实验策略直接污染生产库。常见补救是复制一套测试库、搭 CDC 把数据同步...
让 Claude Code、Codex 之类的编程 Agent 查一张 DynamoDB 表,常见做法是把 AWS 凭据或一段查询结果直接塞进对话。前者把权限边界交给了模型会话,后者则让上下文很快过期...
数据库团队想要的通常不是又一个会把自然语言翻成 SQL 的聊天框,而是一个能回答三个更棘手问题的助手:最近哪些负载在退化、业务口径到底怎样定义、某条建议是否值得真的执行。把 LLM 直接接到生产库会把...
很多自托管存储系统都会迫使团队先做选型题:键值数据放到哪儿、对象文件放到哪儿、业务又如何接入 SQL。新近发布的 Databox 选择了另一种路线:用一个 Go 二进制提供分布式 KV 与 Blob ...