国家/城市/新闻的数据库架构

时间:2015-02-12 17:17:00

标签: mysql database database-design architecture

我正在开发一个发布新闻的应用程序。任何人都可以建议我在视图中保持性能和可伸缩性的最佳方法

方法1:

我希望将国家/地区作为数据库,将城市作为表格,并将新闻发布到个人表格中。这样我就可以将流量拉到各自的数据库/城市

但很难展示世界新闻。我需要加入多个数据库。我仍然不知道这里的表现

方法2:

获取单个数据库并将新闻保存到多个城市表中。这样我只需要加入多个表格来获取世界新闻。我没有看到方法1和方法2之间的区别。

方法3:

获取单个数据库并发布每个新闻w.r.t country_id和city_id。为country_id和city_id进行适当的索引。

我倾向于接近3,但如果有1M记录并且搜索变得太重了?

请有人建议我采取一种方法。 我正在使用MySQL数据库。

感谢。

1 个答案:

答案 0 :(得分:2)

方法3是唯一明智的选择。 MySQL将毫无困难地处理一百万行。

构建原型非常简单,在其中填充1000万行随机(ish)数据,并测量性能。 1000万不是拼写错误。如果实用,请测试10倍的预期数据。学习使用EXPLAIN

您应该能够在不到半小时内构建这种原型。这是一项很好的练习技巧。

每个国家/地区一个数据库和每个城市一个表格是partitioning的不良替代品。