【问题标题】:Google Cloud Datastore for a Products and Stock用于产品和库存的 Google Cloud 数据存储
【发布时间】:2018-04-18 00:55:34
【问题描述】:

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

如何创建包含 2 个表的数据库?库存和产品。 stock 表有 2 列(ref 和 units),product 表有 3 列(name、ref 和 price)。

你将如何获得所有有库存的产品?...就像一个连接,我知道我们没有连接,这就是我怀疑的原因。

必须有一种有效的方法来获取与产品相关的库存。

【问题讨论】:

    标签: nosql google-cloud-datastore


    【解决方案1】:

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

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

    或者,如果它们始终处于 1:1 关系,我可以为相应的 StockProduct 实体使用完全相同的实体 ID,这样我就可以进行 Stock 查询并从 @987654329结果中的@实体(或者更确切地说,来自它们的键/ID,因为我可能会进行 keys_only 查询)我可以立即计算 Product 键并获取相应的实体(请参阅re-using an entity's ID for other entities of different kinds - sane idea?)。

    但是,一般来说,您可能想重新考虑查询数据以在需要时生成报告的一般 SQL 方法(并期望它很快),而是养成执行的习惯提前进行必要的计算——只要这些计算中使用的数据发生变化。这是一种更具可扩展性的方法,它与数据存储一起工作(我猜一般是 nosql)。并且您不需要执行等效于 SQL 样式的连接操作。基本上,当您减少其库存价值时,当您已经知道有问题的产品时,就会为该产品提高库存空标志,这样您以后就不必再查询它了。同时也将其添加到报告中(以便您在需要时准备好)并可能触发补货活动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多