0

此时有一个抽象任务:

我们有 A 国的产品清单和 B 国的产品清单,它们有时是相同的,有时 A 国的产品与 B 国提供的产品不同。

所以我目前的任务是为数据库设计创建和详细说明多种解决方案。绝对让它在未来可扩展到 17,000 - 1,000,000 种产品。

开发产品数据库时应该考虑什么?

几个想法是:

=> 产品表应该针对每个市场,例如AUSTRALIAN_PRODUCTSUS_PRODUCTS其中id产品的唯一标识符

=> 每个市场都有多个模式

=> 每个市场都有多个数据库实例

4

2 回答 2

2

当您说“多个模式”或“多个数据库实例”时,我认为您的意思是“每个国家/地区唯一”。从长远来看,我会避免这种情况非常复杂。假设在两个不同国家/地区的不同产品可能会出现相同的 product_id,我认为您会发现,从长远来看,将唯一的组合键 country_code、product_id 保存在单个数据库中将是最灵活的。

于 2013-07-09T02:07:12.017 回答
2

几句话

很少有想法:
产品表应该针对每个市场,例如 AUSTRALIAN_PRODUCTS、US_PRODUCTS,其中产品的 id 是唯一标识符

我不会做这样的事。一个基本的规范化,将带来一个表结构,如

  • 国家
  • 产品
  • 国家产品

每个市场都有多个模式

这种方法的唯一好处是安全性,在这种情况下不同的模式会将一个国家与另一个国家隔离开来,我不明白为什么你应该采用这种方法

为每个市场拥有多个数据库实例

与第二个选项相同,多个数据库实例只会带来隔离,对性能或其他方面没有任何好处。您以后可能获得的唯一好处是,您可以将一个数据库从一台服务器中取出并移至另一台服务器以实现可伸缩性。

于 2013-07-09T06:00:36.823 回答