【问题标题】:Hosting Large web app - databases托管大型 Web 应用程序 - 数据库
【发布时间】:2011-08-16 13:28:25
【问题描述】:

这几天我正在学习如何托管(项目仍在规划阶段)。我可以在 php 或 asp.net 中开发我的应用程序。在托管选项中,我看到:数据库 - 'mssql - Unlimited x 200 MB'。这是什么意思?当我的用户填充 200 mb 时我必须开始使用另一个数据库吗?我不知道这是如何工作的,我只知道我需要大空间(超过 1.000.000 个用户)。我从来没有托管过大型应用程序,所以我不知道该去哪里找。

【问题讨论】:

  • @110 是个人还是你在某家公司工作

标签: asp.net sql-server database hosting


【解决方案1】:

最好的办法是与您共享的托管公司或任何托管公司交谈,并询问其售前部门。

如果您想在数据库中存储二进制数据(文件、图像、视频),那么,也许这 200MB 将毫无用处。

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

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

希望对你有所帮助。

【讨论】:

    【解决方案2】:

    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 文章

    也就是说,100 万用户实在是太多了,在您开发用户群时,一个较小的主机可能就足够了。

    【讨论】:

    • 因为我对asp.net比较熟悉,所以我觉得用它来开发app会更好。如果我理解的话,我可以使用那个小型数据库托管,直到我获得太多用户,然后将项目转移到另一个主机。我做了一些搜索,我看到所有托管公司都提供 200 mb 选项。也许我以后应该使用专用托管,但扩展可能需要多少成本(与 oss 解决方案相比)?
    猜你喜欢
    • 2017-01-10
    • 2015-05-07
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多