数据库设计更多表还是更多数据库?更适合缩放?

时间:2011-03-14 20:25:57

标签: mysql database-design

在设计数据库和我需要立即设置的项目时,我是相当新的。我不确定我的问题是否有意义,但我有两个数据,例如每日天气和其他城市列表。

每天(或更频繁地)每天都会更新每个地区的新天气,但随着新城市的增加,城市数据库也会增长(不像我们收集每日天气那样快,但它会随着我们的天气而增长添加更多的城市甚至国家)..每个表都有其他表来丰富它,例如城市有其他表格与城市的统计数据(人口,当前市长等)。

问题是随着数据变得越来越大,最好是在一个表中使用天气,在另一个表中使用城市,或者为这两个表分别设置一个数据库,并保持一切准备。我问的原因有两个原因。一个变大,是否更容易将一个数据库移动到不同的物理位置(即不同的服务器),或者我也可以使用表格来完成它?还有人告诉我,为了将来的性能,你需要保持索引尽可能小,不要太大,否则会慢一点,我想把数据打破数据作为一种方式。最后,在未来,我可能想要推出一个API,让人们可以访问一个而不是另一个(即只有天气,但没有城市统计数据,反之亦然),或者给两者提供api访问权限。我更关注规模,好像事情进展顺利,然后是这个系统的性质,数据将一直在增长。

对不起这个长问题。我对采取哪种方法感到有些困惑。最后,如果我走错了路......在mysql中恢复是否容易?说我创建了一个数据库,但后来意识到我需要两个,反之亦然。

1 个答案:

答案 0 :(得分:2)

在MySQL中,您的数据库与架构相同。您的表是包含列和行的实体。

您希望 normalize 表格。当然,请阅读维基百科有关数据库规范化的信息。但是,为了使其更容易,我将数据库规范化浓缩为一个易于记忆的规则。

我庄严地发誓,每个数据元素都依赖于密钥,整个密钥,只有密钥,所以请帮助我Codd。

至于你的表是否应该在多个数据库或模式中,我建议不,没有必要让你的表在多个模式或数据库中。