Google Cloud Datastore交易实施

时间:2017-05-31 15:36:38

标签: node.js concurrency transactions google-cloud-datastore google-cloud-platform

我不清楚谷歌数据存储区的交易是如何实现的。

  1. 他们如何确定我想要达到的资源?因为我们正在接收全局事务对象,然后我们必须对所有请求使用。我怀疑,这是在客户端库级别上完成的,而不是在数据库级别上完成的。

  2. 此交易是否适用于读写?我的意思是,我可以使用事务实现文档锁定机制,因此两个用户无法同时访问它(如我们处理多线程/多处理应用程序时的互斥锁)。

  3. 最后一个问题。有人知道数据存储中的跨国机制是如何实现的吗?我的意思是,高级架构,或者可能是流程图,可能是内部描述的简短,以便更好地理解我正在使用的内容。

  4. 它应该不相关,但我正在为项目使用Google Cloud Functions和node.js环境。我相信这不应该对使用做出任何严格的限制。

1 个答案:

答案 0 :(得分:1)

您所询问的内容并不完全清楚,但有一些关于Cloud Datastore交易的良好文档。我建议您阅读本主题的概念文档:Transactions

  1. 事务是数据库级概念(服务器端)。

  2. 事务确实支持读写。它被实现为乐观锁定,因此它不会阻止另一个客户端像互斥锁那样读取它,但它会导致事务失败并在适当时回滚。

  3. 在文档中,它讨论了与使用它相关的详细信息。

  4.   

    在交易之外,Cloud Datastore的隔离级别最接近   阅读已提交。在事务内部,可序列化隔离是   强制执行。这意味着另一个事务不能同时发生   修改此事务读取或修改的数据。阅读   serializable isolation wiki和Transaction Isolation文章   有关隔离级别的更多信息。