Google Cloud Datastore 是否隐式创建事务?
Does the Google Cloud Datastore create transactions implicitly?
在很多数据库中,当一个操作在没有显式启动事务的情况下执行时,数据库会隐式地创建一个新事务。
数据存储是否这样做?
如果没有,是否有任何模型可以推理在没有交易的情况下数据如何变化?放置、获取和读取如何在事务之外工作?
如果是,是否有关于何时以及如何的描述。它总是这样做吗?交易范围是什么?
"Transactions are an optional feature of the Datastore; you're not required to use transactions to perform Datastore operations."
因此没有为您打开超过一个实体数据存储操作的自动事务。
单个实体提交的行为与内部事务相同。因此,如果您要更改多个实体或多次提交,就好像您每次都打开和关闭一个事务。
单个实体的突变(放置、删除)将始终是原子的(完全成功或完全失败)。您可以将单个突变视为事务性的,即使您没有提供事务。
但是,如果您在同一个非事务性请求中发送多个变更,则整个请求不是原子的。每个突变可能独立地成功或失败——一个失败不会导致其他突变被恢复。
在很多数据库中,当一个操作在没有显式启动事务的情况下执行时,数据库会隐式地创建一个新事务。
数据存储是否这样做?
如果没有,是否有任何模型可以推理在没有交易的情况下数据如何变化?放置、获取和读取如何在事务之外工作?
如果是,是否有关于何时以及如何的描述。它总是这样做吗?交易范围是什么?
"Transactions are an optional feature of the Datastore; you're not required to use transactions to perform Datastore operations."
因此没有为您打开超过一个实体数据存储操作的自动事务。
单个实体提交的行为与内部事务相同。因此,如果您要更改多个实体或多次提交,就好像您每次都打开和关闭一个事务。
单个实体的突变(放置、删除)将始终是原子的(完全成功或完全失败)。您可以将单个突变视为事务性的,即使您没有提供事务。
但是,如果您在同一个非事务性请求中发送多个变更,则整个请求不是原子的。每个突变可能独立地成功或失败——一个失败不会导致其他突变被恢复。