Javascript 在电子商务软件中处理大量变体(300万个)

Javascript 在电子商务软件中处理大量变体(300万个),javascript,bigdata,shopping-cart,Javascript,Bigdata,Shopping Cart,当我说每件物品有300万个条目是个问题时,老板不相信我。告诉我推迟、通知用户并扩展一些服务器 我有一个服务器端实现,它从多个电子商务集成中提取数据,计算项目所有可能变化的笛卡尔积,将它们存储在缓存中,然后在它们严重循环的客户端为它们提供服务。这适用于少于200个变体的物品,也就是普通物品 例如: T恤衫 尺寸: 小的 中等 大的 颜色: 红色 蓝色 橙色的 笛卡尔变量: (小号,红色)(小号,蓝色)(小号,橙色)(中号,红色) 我们收到一位客户,他有以下物品: 7个选项集 有些选项集有:每个选项

当我说每件物品有300万个条目是个问题时,老板不相信我。告诉我推迟、通知用户并扩展一些服务器

我有一个服务器端实现,它从多个电子商务集成中提取数据,计算项目所有可能变化的笛卡尔积,将它们存储在缓存中,然后在它们严重循环的客户端为它们提供服务。这适用于少于200个变体的物品,也就是普通物品

例如:

T恤衫

尺寸: 小的 中等 大的

颜色: 红色 蓝色 橙色的

笛卡尔变量: (小号,红色)(小号,蓝色)(小号,橙色)(中号,红色)

我们收到一位客户,他有以下物品:

7个选项集

有些选项集有:每个选项50个

现在,这个客户并没有做任何固有的错误。他们为该产品的各个部分提供多种颜色选择的服装


有没有一种优雅的方式来处理这个问题?不,对吗?

客户端循环中发生了什么?为什么要计算每个可能的变量?什么是“每个项目300万条记录”?什么是条目?什么是物品?还有,为什么每个组合都必须预先计算?通常,当有这么多变体时,您可以根据需要计算组合,并为实际使用的组合构建合理大小的缓存。预先计算一个海量数据集,在任何合理的时间内只使用一小部分选项,这通常是错误的经济。按需计算,如果有性能问题,则加快计算速度。仅供参考,缓存项目和按需计算变量可能比缓存所有可能的变量更快。如果项目已经在内存中,那么创建一个变量应该非常快。在我读完评论之前,我只想说这是一个很棒的问题客户端循环中发生了什么?为什么要计算每个可能的变量?每个项目300万条目的意思是什么?什么是条目?什么是物品?还有,为什么每个组合都必须预先计算?通常,当有这么多变体时,您可以根据需要计算组合,并为实际使用的组合构建合理大小的缓存。预先计算一个海量数据集,在任何合理的时间内只使用一小部分选项,这通常是错误的经济。按需计算,如果有性能问题,则加快计算速度。仅供参考,缓存项目和按需计算变量可能比缓存所有可能的变量更快。如果项目已经在内存中,那么创建一个变量应该非常快。在我读完评论之前,我只想说这是一个很棒的问题客户端循环中发生了什么?为什么要计算每个可能的变量?每个项目300万条目的意思是什么?什么是条目?什么是物品?还有,为什么每个组合都必须预先计算?通常,当有这么多变体时,您可以根据需要计算组合,并为实际使用的组合构建合理大小的缓存。预先计算一个海量数据集,在任何合理的时间内只使用一小部分选项,这通常是错误的经济。按需计算,如果有性能问题,则加快计算速度。仅供参考,缓存项目和按需计算变量可能比缓存所有可能的变量更快。如果项目已经在内存中,那么创建一个变体应该非常快。在我读完评论之前,我只想说这是一个很棒的问题