单个或多个数据库

时间:2010-10-05 07:03:19

标签: database-design

我正致力于跟踪网站访问者的服务(网站所有者只是将一些java脚本放到他的网站上......就像Google Analytic或Woopra一样)。可能会有每天访问量低但流量大(超过10 000)的网站。此服务的用户数也可增长到数千。数据库没有非常困难的结构(3或4个表)。我正在使用MSSQL 2008。

这个系统的最佳解决方案是什么?

  1. 单个数据库系统,所有用户的一个数据库
  2. 多个数据库系统,每个用户一个数据库
  3. 多个数据库系统,适用于某些用户的一个数据库
  4. 所以1.可能是个坏主意,我不能在2和3之间做出决定。

    感谢您的回答

    鲁迪

4 个答案:

答案 0 :(得分:3)

我假设您将拥有某种可通过http调用的服务接口,并且通过此接口统计信息将持久保存到数据库中。

我首先使用单个数据库,根据定义,该数据库将是一个能够为多个用户提供服务的数据库。很可能这个(简单)系统对你的前200(300?800?1000?)用户表现得足够好。然后你将拥有一个运作良好的简单系统。

当您注意到数据库有效负载增加到某个级别(监视它)时,您可以通过向不同的数据库提供用户组来稍微改变您的服务。无需更改数据库设计,因为它已经适用于多个用户。仅调整服务应用程序,以便根据用户选择正确的数据库。

您可以选择具有商业意义的用户组;例如,一个由一个网站托管公司组成的150名用户,它们会向您(或您的客户)收取统计费用。

在这种情况下,单个数据库可以更轻松地对所有用户进行统计分组。

答案 1 :(得分:2)

选择选项1.

数据库旨在扩展和管理大量数据。尝试使用多个数据库只会让事情变得混乱,并在您身边添加更多代码。想象一下,必须为每个新用户创建一个数据库,然后记录哪个数据库是哪个用户...

答案 2 :(得分:0)

那么,只要对数据库的数量没有一些奇怪的约束,为什么不选择选项3?

答案 3 :(得分:-2)

您是否想过'云计算'。在这里,您根本不必担心可扩展性。