我目前正在使用此模型将数据存储在我的 appengine ndb 数据存储中
class BundleModel (ndb.Model):
product_vals=ndb.StructuredProperty(ProductModel,repeated=True)
产品型号如下:
class ProductModel(ndb.Model):
p_created=ndb.DateTimeProperty(auto_now_add=True)
p_updated=ndb.DateTimeProperty(auto_now=True)
p_title=ndb.StringProperty()
p_link=ndb.StringProperty()
p_categ=ndb.StringProperty()
p_categ_alt=ndb.StringProperty()
p_value=ndb.FloatProperty()
p_location=ndb.StringProperty()
p_avail=ndb.BooleanProperty(default=True)
p_mod=ndb.BooleanProperty(default=False)
我只将 BundleModel 放在数据存储中,并且 ProductModel 实体作为列表嵌入到每个实体中。
我想知道这是否是一种存储数据的昂贵且缓慢的方法。将每个 ProductModel 存储为子实体,将 BundleModel 作为父实体会更好吗?
在这种情况下,对 BundleModel 的每个请求都会转化为对 ProductModel 的多个请求。那么,一个对大块数据的请求与对小块数据的多个请求(大约十个左右)之间的权衡是什么?在写入数据方面,我会单独编写小块,而不是修改一大块。
这种变化在成本、速度和任何其他参数方面的影响是什么?
谢谢!