[英]Realtime datastore in google datastore
我想在Google Cloud Datastore中存储有关商店和卖家的一些信息,包括目录。 我能想到的一个初始架构是( shop_info
是一种)
/shop_owner_info
/shop_info
/shop_info/catalog/item(x)
但是这里的问题是,由于目录位于同一组中,因此写入限制为每秒1次。 但是每秒可能有不止一次目录更新。
所以我的问题是上面的结构如何构造,以便我可以实时更新目录。
您需要的是多租户结构。 在数据存储区中,您可以使用命名空间而不是祖先路径来实现。 请参阅数据存储区文档中的多租户 。
代替/ shop_info / catalog / item(x),您将拥有:
假设John订阅了您的应用并创建了一个“ SuperElectro”商店。 您将有两个实体:
还有一个名称空间:
当您将新项目添加到SuperElecto的目录中时,请勿提供任何祖先/父母。 而是提供一个包含所有者和商店的名称空间:
在Python中:
from google.appengine.api import namespace_manager
from google.appengine.ext import ndb
class CatalogItem(ndb.Model):
name = ndb.StringProperty()
category = ndb.StringProperty()
namespace_manager.set_namespace('SuperElectro')
item = CatalogItem(name='iPhone', category='Smartphone')
item.put()
在现实世界中,您想对名称空间使用唯一的名称:我建议使用商店ID代替“ SuperElectro”。
希望能帮助到你。 在使用命名空间实现多租户上了解更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.