适用于产品和库存的Google Cloud数据存储

时间:2017-11-05 22:08:38

标签: nosql google-cloud-datastore

我正在尝试使用Google Cloud Datastore,但我有些疑惑。我知道理想的是使用关系数据库在网上开店,但我想尝试使用Google Cloud Datastore。

如何制作2个表的数据库?库存和产品。库存表有2列(参考和单位),产品表有3列(名称,参考和价格)。

如何获得所有有库存的产品?...就像加入一样,我知道我们没有加入,这就是我怀疑的原因。

必须有一种有效的方法来获得与产品相关的股票。

1 个答案:

答案 0 :(得分:1)

数据存储区中没有表,您只有具有属性的实体。而且,根据您使用的客户端库,您可能拥有实体模型。

Stock实体可以具有指向相应Product实体的Key属性。您可以从获得Stock键的结果中查询Product个实体,并使用这些键来提取相应的实体。

或者,如果他们始终保持1:1的关系,我可以使用相应的StockProduct实体完全相同的实体ID,这样我就可以制作Stock查询和结果中的Stock实体(或者更确切地说,来自他们的键/ ID,因为我可能会进行keys_only查询)我可以立即计算Product个键并获取相应的实体(请参阅{{ 3}})。

但是,一般情况下,可能想要重新考虑查询数据的一般SQL方法,以便在您需要时生成报告(并期望速度快),而不是养成执行的习惯提前进行必要的计算 - 只要这些计算中使用的数据发生变化。这是一个更加可扩展的方法,它与数据存储区同时工作(我猜通常使用nosql)。而且您不需要执行等同于SQL样式的连接操作。当您已经知道相关产品时,当您减少其库存值时,基本上会提高产品的库存空标记,以便您以后不必查询它。虽然它也将它添加到报告中(以便您在需要时准备好它)并且也可以触发重新进货活动。