我已经阅读了白皮书,但关于Data Artisans Streaming Ledger,但发现它只包含如何使用该框架的高级概述。
我一直在寻找更深入的解释或研究论文,解释如何在内部完成多密钥事务调度以及如何使用逻辑时钟来保证一致性。
有人知道我在哪里可以找到更多详细信息吗?
好的,这就是我到目前为止发现的 1-事务必须是确定性的,这意味着它写入的值仅取决于它读取的值,它不允许读取挂钟时间或生成随机数... 2-要排队执行事务,您需要定义将要读取和写入的完整密钥集,不允许将要触摸的密钥动态依赖于事务执行期间读取的值。
因此,一旦事务排队,所有分区将按照相对于其他事务的相同顺序处理它(订单事务在队列中(,并且所有负责此事务触摸的某些键的工人都可以静态确定。
一旦所有这些工作线程到达队列中的此事务位置,它们首先执行所有读取操作,并将读取的值发送给将执行至少一次写入的所有工作线程。然后,负责至少一次写入的所有工作线程在本地准备写入,并报告事务是否应回滚到所有其他节点。如果所有节点都同意提交所有工作线程提交本地准备的写入。