云Bigtable还支持一些需要在其他数据库中进行事务的写操作:
因此,如果我正确理解,如果我使用“读-修改-写”或“检查和变异”操作,则需要启用单行事务。
这些操作是像CheckAndMutateRow这样的API方法,对吗?那么,如果程序使用该方法而未启用单行事务怎么办?应用程序会失败吗?方向对吗?
我的目标是了解(在应用程序中)应用配置文件上的单行事务设置是如何、何时、何地被利用的。
谢谢!
加布里埃尔
发布于 2019-03-25 15:17:44
只有当您从应用程序调用CheckAndMutateRow或ReadModifyWriteRow时,才应该启用单行事务,因为如果没有启用设置,这些调用将失败。如果您不使用它们,我甚至会禁用它们,因为它将减少在使用复制时看到的警告数量。
注意,正如Jeff在他的评论中指出的,在默认情况下,这些都是启用的,特别是如果您的实例是使用单个集群创建的。这只是为了避免旧客户端的破坏,因为在启动复制之前,这种区别并不重要。
有关此设置为什么存在的更多颜色,请参见关于使用复制时单行事务之间冲突的部分这里。
发布于 2019-03-23 14:18:25
因此,如果我正确理解,如果我使用“读-修改-写”或“检查和变异”操作,则需要启用单行事务。
那是不对的。使用这些API会导致单行事务,您不需要事先启用任何操作。
这些操作是像CheckAndMutateRow这样的API方法,对吗?
是。
那么,如果程序使用该方法而未启用单行事务怎么办?
没有什么可以启用的。调用这些API将导致对要更改的行执行原子操作。
应用程序会失败吗?
这是不适用的,见上文。
https://stackoverflow.com/questions/55308362
复制相似问题