[RFC] 提出简化的事务机制(Transaction) 以支持基础的一致性 #115
MaojiaSheng
started this conversation in
RFC
Replies: 1 comment
-
|
1、加锁的行为不是原子的吧?感觉存在并发风险 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
事务机制
OpenViking 的事务机制为 AI Agent 上下文数据库提供可靠的操作保障,解决数据一致性、并发控制和错误恢复等核心问题。
概览
设计原则:
核心需求分析
OpenViking 的数据操作命令(如
add_resource、rm、mv等)存在以下无保护操作问题:add_resource多阶段操作中,某个阶段失败可能留下中间状态系统一致性要求
从系统分析的角度,OpenViking 要求实现组件间的分布式一致性:
TransactionManager(事务管理器)
TransactionManager 是全局单例,负责管理事务生命周期和锁机制实现。
核心职责
关键特性
事务状态机
状态说明:
INIT:事务初始化完成,等待锁获取AQUIRE:正在获取锁资源EXEC:事务操作正在执行COMMIT/FAIL:事务执行完成,进入最终状态RELEASING:正在释放锁资源RELEASED:锁资源已完全释放,事务结束事务记录属性
设计决策
锁机制
锁机制是事务管理的核心组件,当前只提供路径锁类型。
锁类型
锁协议
加锁流程
普通操作加锁流程
rm 操作加锁流程
mv 操作加锁流程
锁机制性能分析
相关文档
Beta Was this translation helpful? Give feedback.
All reactions