1

假设我有一个包含数百万个具有价格属性的小部件的数据库。小部件属于供应商,我将小部件卖给客户,首先从供应商那里购买,然后再卖给客户。有了这个基本设置,如果客户向我询问每个低于 50 美元的小部件,列出它们是微不足道的。

但是,我对各个供应商的小部件价格进行了不同的标记。所以我可以将供应商 A 的小部件加价 10%,我可以将供应商 B 的小部件加价 5 美元。在数据库中,这些标记将与我的 ID、供应商 ID、标记类型(平面、百分比)和标记率一起存储在连接表中。最重要的是,供应商可以在向我销售时添加他们自己的标记(这些标记将与供应商的 ID、我的 ID 和标记类型/费率在同一个连接表中)。

因此,如果我想从供应商 A 处出售 45 美元的小部件,它可能会被供应商的 10% 加价(至 49.50 美元)加价,然后是我自己的 10 美元固定加价(至 59.50 美元)。该小部件不会出现在客户搜索价格低于 50 美元的小部件中。但是,一个 80 美元的小部件在到达客户端时可能会被标记为 45 美元,并且应该在结果中返回。这些标记可能会发生变化,假设我是这个系统中通过供应商向客户销售小部件的数百人中的一员,所有人在该标记表中都有自己的标记关系。

有没有在数百万个对象上快速执行这样的计算的先例?我意识到这是一个巨大的、非平凡的问题,但我很好奇人们将如何开始解决这样的问题。

4

2 回答 2

5

将列添加到数据库并存储计算结果,并使用相关记录更改更新它们。您无法为数百万条记录即时计算这些值。

于 2012-09-27T20:00:00.580 回答
2

有没有在数百万个对象上快速执行这样的计算的先例?

标准。严重地。数据仓库,风险预测。像这样的东西 - 你的问题很小。预先计算所有组合,将它们存储在适当的更高级别的数据库服务器中,完成。

它并不大 - 说真的。它只对小型服务器来说是巨大的,但是一旦你得到一个计算网格......它就很简单了。数以百万计的物体?每台机器在一分钟内计算 100.000 个对象,1000 万是 100 分钟对象。而且你没有那么多变化。

于 2012-09-27T20:01:24.520 回答