多个应用实例,多个DB或互连表?

时间:2010-01-27 09:15:32

标签: database-design

我正在使用数据库扩展电子投票应用程序。考虑多个同时投票。对于每次投票,存储了几个配置选项,以及投票。

在存在合理数量的并发选票的情况下,配置表显然非常小,但是投票表可能会变得非常大。

我的问题是:让DB只关注一个选票,让每个选票创建整个数据库的新实例,或者在大多数表中都有一个ballot_id外键,并存储所有数据在同一个DB中投票?

我的问题主要涉及表现,特别是投票表中的插入,一旦它变得巨大。

2 个答案:

答案 0 :(得分:1)

我的经验法则 - 将其保存在同一个数据库中并使用分区来管理表。使用分区,您可以将“旧选票数据”移动到单独的驱动器,并将新数据“仅流入”最新分区。出于所有实际目的,当前查询在大多数情况下仅访问总表大小的一小部分。

通过这种方式,您仍然可以在整个表格(所有选票)上使用报告,而无需在不同数据库之间进行切换。

答案 1 :(得分:0)

如果:

  • 选票一旦关闭,实际上变为只读,
  • 也是独立的,与其他选票无关,

然后是的,出于性能原因将它们分开似乎是有意义的。

所有选票中是否共享任何牌桌? (例如,应用程序范围的配置) 那些信息需要放在它自己的数据库中。