在同一事务上读取和修改 - Bigtable
Posted
技术标签:
【中文标题】在同一事务上读取和修改 - Bigtable【英文标题】:Read And Modify on same transaction - Bigtable 【发布时间】:2019-09-12 21:26:53 【问题描述】:我建立了一个优惠券系统并使用了 bigtable。
我的架构有两列 - 客户 ID、优惠券代码
我想查询该表以检查客户是否已经存在,如果为 true 则返回代码,如果不存在,则使用 id 修改客户 ID 单元格并返回代码。
我看到有一个选项可以在 Bigtable ReadModifyWriteRow
运算符或 CheckAndMutateRow
中执行此操作,但我没有找到任何参考。
【问题讨论】:
【参考方案1】:Google 提供了用于 Bigtable 和 Python 的 API 文档here。这向您展示了所有可用的方法和它们引用的源代码,因此您可以轻松、更有效地使用和理解用法。
ReadModifyWriteRow
以字节形式追加或增加行中现有单元格中的数据。
CheckAndMutateRow
检查过滤器是否匹配,然后应用 2 组突变。这些是“真突变”和“假突变”。
您可以使用if
语句来实现您希望的用法。
你可以阅读CheckAndMutateRow conditional requests,也有code samples可用。
【讨论】:
谢谢,也许你的代码示例我应该如何实现它? 您可以查看ReadModifyWriteRow
here 的实现和CheckAndMutateRow
here 的实现。这将提供有关如何在自己的实现中实现这些方法的见解。希望这会有所帮助。以上是关于在同一事务上读取和修改 - Bigtable的主要内容,如果未能解决你的问题,请参考以下文章