我不清楚谷歌数据存储区的交易是如何实现的。
他们如何确定我想要达到的资源?因为我们正在接收全局事务对象,然后我们必须对所有请求使用。我怀疑,这是在客户端库级别上完成的,而不是在数据库级别上完成的。
此交易是否适用于读写?我的意思是,我可以使用事务实现文档锁定机制,因此两个用户无法同时访问它(如我们处理多线程/多处理应用程序时的互斥锁)。
最后一个问题。有人知道数据存储中的跨国机制是如何实现的吗?我的意思是,高级架构,或者可能是流程图,可能是内部描述的简短,以便更好地理解我正在使用的内容。
它应该不相关,但我正在为项目使用Google Cloud Functions和node.js环境。我相信这不应该对使用做出任何严格的限制。
答案 0 :(得分:1)
您所询问的内容并不完全清楚,但有一些关于Cloud Datastore交易的良好文档。我建议您阅读本主题的概念文档:Transactions
事务是数据库级概念(服务器端)。
事务确实支持读写。它被实现为乐观锁定,因此它不会阻止另一个客户端像互斥锁那样读取它,但它会导致事务失败并在适当时回滚。
在文档中,它讨论了与使用它相关的详细信息。
在交易之外,Cloud Datastore的隔离级别最接近 阅读已提交。在事务内部,可序列化隔离是 强制执行。这意味着另一个事务不能同时发生 修改此事务读取或修改的数据。阅读 serializable isolation wiki和Transaction Isolation文章 有关隔离级别的更多信息。