此时有一个抽象的任务:
我们有一个国家A的产品清单和国家B的产品清单,它们有时是相同的,有时A国的产品与B国提供的产品不同。
所以我目前的任务是创建和详细说明数据库设计的多个解决方案。绝对要使其在未来可扩展到17,000-1,000,000种产品。
开发产品数据库时应该考虑什么?
很少有想法:
=>产品表应针对每个市场,例如AUSTRALIAN_PRODUCTS
,US_PRODUCTS
,其中产品的id
是唯一标识符
=>为每个市场设置多个模式
=>为每个市场提供多个数据库实例
答案 0 :(得分:2)
当您说“多个模式”或“多个数据库实例”时,我认为您的意思是“每个国家/地区都是唯一的”。我会避免这是非常复杂的长期。假设两个不同国家/地区的不同产品可能会出现相同的product_id,我认为您会发现使用country_code的组合唯一键保持单个数据库,从长远来看,product_id将是最灵活的。
答案 1 :(得分:2)
几点评论
很少有想法:
产品表应特定于每个市场,例如AUSTRALIAN_PRODUCTS,US_PRODUCTS,其中产品的ID是唯一标识符
我不会做这样的事情。一个基本的规范化,将带来像
这样的表结构为每个市场设置多个架构
这种方法的唯一好处是安全性,在这样的情况下,不同的模式会将一个国家与另一个国家隔离开来,我不明白为什么要采用这种方法
为每个市场提供多个数据库实例
与第二个选项相同,多个数据库实例只会带来隔离,对性能或其他方面没有任何好处。 您可以在以后获得的唯一好处是,您可以从一个服务器中取出一个数据库,然后转移到另一个服务器以获得可伸缩性。