【问题标题】:Google Cloud Datastore - Delete patternGoogle Cloud Datastore - 删除模式
【发布时间】:2020-01-22 18:08:57
【问题描述】:

我使用 Google Datastore 存储多个对象。百万。在某些时候,我不再想继续在数据库中存储行。删除标准 - 删除 10 天后的所有行。

我看到 Google 提供了两种选择来完成这项工作:

  1. 批量发送删除命令。当然,您应该先获取所有 ID。当您必须删除数百万行时,这听起来是一个非常缓慢的想法。它也很贵。
  2. 使用 Google Dataflow 产品并提供从 Datastore 中批量删除的选项。这里的问题只是价格——高价。

上面这两个选项的问题是定价。我计算了一个月删除 1600 万行的价格将花费 480 美元(数据存储读取操作 + 删除操作)——这对于小任务来说太贵了。除此之外,您还必须添加数据流操作成本。

似乎没有便宜的方法可以从 Datastore 中删除数据 - 我错了?

【问题讨论】:

    标签: google-cloud-platform google-cloud-datastore google-cloud-dataflow


    【解决方案1】:

    您无需阅读即可删除。删除基于键。因此,您所需要的只是识别密钥。为此,您可以只查询便宜得多的键(整个投影只需一个操作,尽管使用投影查询一次可以获取多少个键可能存在限制)。

    另外,您是如何计算出 480 美元的?根据

    https://cloud.google.com/datastore/pricing

    对于多区域,100,000 次读取的费用为 0.06 美元,100,000 次删除的费用为 0.02 美元。使用这些数字,我得到以下 16M。

    16*10^6 * ( (1/1000) * 0.06/10^5 + 0.02 / 10^5) = $3.2096

    这里的 1/1000 因子是针对使用 keysonly 查询读取的 1000 个键的单次读取操作。

    【讨论】:

    • 您好,感谢您提供的信息。好像我的初始计算有问题。谢谢指正。
    猜你喜欢
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 2018-07-16
    • 2020-12-30
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多