2010-10-05 59 views
2

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

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

  1. 单一的数据库系统,一个数据库,所有用户
  2. 多数据库系统,为每个用户
  3. 多数据库系统中的一个数据库,对一定范围内的用户

所以1的一个数据库。可能是个坏主意,我无法在2和3之间做出选择。

感谢您的回答

Rudy

+0

为了澄清,当你说用户,你指的是使用这项服务的网站? – JoshD 2010-10-05 07:10:39

回答

0

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

+0

维护一个... – Woot4Moo 2010-10-13 13:32:01

2

与选项1

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

3

我假设你将有某种服务接口可以通过http调用,并通过此接口统计坚持数据库(S)。

我会开始使用一个单一的数据库,它(根据定义)将是一个数据库能够服务于多个用户。很可能这个(简单)系统对您的第一批200(300?800?1000?)用户来说表现不错。然后你会有一个很好的简单系统。

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

您可以选择具有商业意义的用户组;例如一个单个虚拟主机公司的150名用户支付给您(或您的客户)收集统计数据。

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

+0

这当然是今天最好的答案。 +1 – JoshD 2010-10-05 17:54:55

-2

你有没有想过'云计算'。在这里,您不必担心可伸缩性。

+0

信息不佳 – Woot4Moo 2010-10-13 13:32:18

相关问题