【发布时间】:2011-06-28 14:55:37
【问题描述】:
我必须为不同类型的人群提供服务。该服务包含一个门户网站和一个包含大量记录的网络服务(由智能手机查询)。每个种群都有自己的记录集,种群之间共享的记录很少。
每个群体都有自己的事件、新闻、用户...许多用户将使用此服务,数据库表(将包含这些事件、新闻和用户)将快速增长。此表中的选择数将是插入数的 100 倍。 最后,我打算使用 MySQL 作为数据库引擎。
我的问题是架构问题:
- 为所有人群提供一个公用表格(一个表格新闻、一个表格事件......对于所有人群)和一个允许过滤的列是否更好?还是每个人口有一个数据库更好(每个人口都有自己的事件表,自己的新闻表......)?
- 如果按人口计算的数据库架构更加优化,我该如何处理共享对象?
感谢您的提示和建议!
克洛德
【问题讨论】:
-
您是否调查过针对不同人群使用单个数据库和不同表? IE。 Event_Pop_A, Event_Pop_B... News_Pop_A... 根据您的使用场景,这可能有助于您必须进行跨人群查询(例如使用 UNION)
-
不,我没有。似乎很难维护/管理,但解决方案可以工作
-
这取决于您创建新种群的频率。如果这是您可以设想的很多事情,那么我的建议是不切实际的。如果人口集是稳定的,并且用户从一个人口到另一个人口的移动很少或没有,那么它可能会起作用
-
好的,谢谢您的建议。事实上,每周都会有 2 到 10 个新人口...我会在我的另一部分服务中使用 ure 建议