一个产品多个市场数据库设计

时间:2013-07-09 01:59:57

标签: database database-design localization region

此时有一个抽象的任务:

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

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

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

很少有想法:

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

=>为每个市场设置多个模式

=>为每个市场提供多个数据库实例

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

几点评论

  

很少有想法:
  产品表应特定于每个市场,例如AUSTRALIAN_PRODUCTS,US_PRODUCTS,其中产品的ID是唯一标识符

我不会做这样的事情。一个基本的规范化,将带来像

这样的表结构
  • 国家/地区
  • 产品
  • CountryProduct
  

为每个市场设置多个架构

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

  

为每个市场提供多个数据库实例

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