Google Datastore强大的一致性和实体组最大尺寸

时间:2018-02-04 21:31:15

标签: python google-app-engine google-cloud-datastore datastore eventual-consistency

在共享费用应用中,显示每个群组的付款会费和共享费用明细。作为财务应用程序,许多操作都是事务性的,这需要强大的一致性以确保数据的完整性。我们使用了实体组和祖先查询,它们似乎解决了强一致性的问题,这导致实体组的规模很大。由于共享的“小组”现在是成员,费用,付款,会费等的父母。到目前为止,我们没有看到问题,但我们担心这个规模,费用和/或付款可以扩展到10~100K实体的数量级。

经过一番研究,我们发现了以下建议:

  1. 回到最终的一致性,并写入memcache以克服最终的一致性。 这是最好的解决方案吗?我们找不到关于如何在memcache中更新实体的足够文档,如果你知道请分享!另外,在这种情况下,我们如何确保写入是事务性的?
  2. 保持原样,因为没有实体组大小。 但我们担心以后会发生什么,因为docs提到保持实体组不超过单个用户的数据
  3. 切换到RDBMS,现在可能为时已晚
  4. 我们现在没有1个写入/秒规则的问题,因为通常在这些组中每秒没有太大的进展导致问题,但我们不想遇到问题问题稍后。迁移或更改数据模型很麻烦,特别是更改或删除祖先,需要重写实体,许多删除和写入请求也需要花费!

    感谢您的输入

0 个答案:

没有答案