Database design 网络应用应该将国家分开,还是尝试将所有国家纳入一个数据库?

Database design 网络应用应该将国家分开,还是尝试将所有国家纳入一个数据库?,database-design,internationalization,database-schema,Database Design,Internationalization,Database Schema,分开的明显原因是各国有不同的地址模式,例如加拿大使用6个字符的邮政编码,美国使用5个字符的邮政编码。这是许多“事情”中的一件,使得创建一个适合所有情况的国际数据库变得困难,其他的是英制单位和电话号码验证 对我来说,把所有东西都放在一起的明显原因似乎很简单,那就是为了避免物流开销,拥有独立的.ca和.com域,拥有各自独立的电子邮件/AWS帐户,S3 bucket的后缀,为每个额外的国家重新部署,等等 我在这方面没有任何实际经验,我真的很想从在他们的网站上做过同样决定的人那里得到关于这件事的建议。

分开的明显原因是各国有不同的地址模式,例如加拿大使用6个字符的邮政编码,美国使用5个字符的邮政编码。这是许多“事情”中的一件,使得创建一个适合所有情况的国际数据库变得困难,其他的是英制单位和电话号码验证

对我来说,把所有东西都放在一起的明显原因似乎很简单,那就是为了避免物流开销,拥有独立的
.ca
.com
域,拥有各自独立的电子邮件/AWS帐户,S3 bucket的后缀,为每个额外的国家重新部署,等等


我在这方面没有任何实际经验,我真的很想从在他们的网站上做过同样决定的人那里得到关于这件事的建议。

有趣的问题;您可以轻松地将所有数据保存在一个表中,并使用country值确定如何处理各种列条目。但是,如果您希望有数以百万计的记录,那么最好将它们分成多个表(一个用于美国,一个用于加拿大,一个用于布基纳法索,等等),不仅是单独的表,而且是单独的数据库和其他一切。就好像它们是两个完全独立的网站,拥有非常相似的代码库;除非,如我所说,你会有一个Google的数据丛。但是如果我们提供
example.com
example.ca
,那不是要求所有事情都要做两次吗?如果我们希望只执行一次,那么它必须是
example.com/ca
,除非有办法解决这个问题?