托管大型网络应用程序 - 数据库

时间:2011-05-01 18:22:13

标签: asp.net sql-server database hosting

我正在学习托管这些天(仍在计划项目阶段)。我可以在php或asp.net中开发我的应用程序。在托管选项中我看到:数据库 - 'mssql - 无限x 200 MB'。这是什么意思?是我的用户填写200 MB时我必须开始使用另一个数据库吗?我不知道这是如何工作的,我所知道的是我需要大空间(超过1.000.000用户)。我从未托管大型应用程序,所以我不确切地知道在哪里看。

2 个答案:

答案 0 :(得分:1)

您最好的选择是与您的共享主办公司或任何主办公司交谈并询问其预售部门。

如果你想在你的数据库上存储二进制数据(文件,图像,视频),那么这些200MB也许是没有用的。

如果您想存储1.000.000用户信息,例如“姓名,出生日期等等,那么,200MB就可以了。”

主机磁盘空间和考虑这些用户的带宽应该是您最关心的问题。

希望它能以某种方式帮助你。

答案 1 :(得分:1)

200 MB是数据库大小,一旦达到,您将需要使用该主机升级数据库或迁移到其他主机。

对于100万用户来说,200 MB的声音非常小。

200*1024*1024/1000000 = 209.7 bytes per user.

忽略开销并假设每个字符1个字节,即每个用户209个字母数字字符,这可能不足以存储配置文件,更不用说任何有用的信息了。

如果您的目标是1,000,000个用户,并且知道您的数据库结构是什么样的,那么您可以进行粗略计算,告诉您需要多少空间。

例如,一个由

组成的基本用户表
username - nvarchar(20)
email    - nvarchar(100)
password - nvarchar(20)

nvarchar是unicode,因此每个字符2个字节+ 2个字节开销

所以最糟糕的情况是存储

42+202+42 == 286 bytes per user
* 1,000,000 == 286,000,000
/(1024*1024) = 272.75 MB

这会忽略在大小的表上必需的索引,并且只有一个表不是非常有用的数据库。当然,如果您对每个表中的平均条目占用的空间有了更好的了解,您可以根据该表进行计算。

有关Estimating the Size of a Database

的更多信息,请参阅此msdn文章

也就是说,一百万用户是很多人,在开发用户群时,较小的主机可能就足够了。