SQL Server托管仅提供1GB数据库。如何拆分数据?

时间:2009-11-03 18:16:39

标签: asp.net sql-server hosting vps

使用ASP.NET和Windows Stack。

目的: 我有一个网站,每6个月收集超过1GB的数据。所以你可以告诉我的数据库会变得很大。

问题: 大多数托管服务提供商仅以1GB为增量提供数据库。这意味着每次我超过1GB时,我都需要创建另一个数据库。我完全没有这种设置的经验,我正在寻找一些关于该做什么的建议?

疑惑:

  1. 我是否将会员资格转移到单独的数据库?由于我拥有的其他数据的大小,这仍然无法解决太多问题。
  2. 我是否将数据存档到另一个数据库?如果我这样做,如何允许用户访问它?
  3. 如果我在两个数据库之间拆分数据,我是否将表命名为相同?
  4. 我使用LINQ查询所有数据。因此,建立一些不同的联系并不是一件可怕的事情。
  5. 有没有人知道可以扩展数据库的托管服务提供商?
  6. 我只是想知道该怎么办?我怎样才能解决这个难题?到目前为止,我还没有广告费用每月花费超过50美元......

    虽然http://www.ultimahosts.net/windows/vps/似乎为最优惠的价格提供了最佳解决方案,但他们仍然将数据库分开。那么我从哪里开始呢?

    同样,我是多个数据库的业余爱好者。我一次只使用一个..

6 个答案:

答案 0 :(得分:1)

如果他们实际上每个数据库限制强加1GB,并为每个额外的GB创建一个新的限制,我真的会感到惊讶,但假设事实确实如此 -

  1. 将特定数据库指定为主数据库。这是您的应用程序将直接连接到的唯一一个。
  2. 在第二个(以及第三个,第四个等)数据库中创建您需要的所有表的克隆。
  3. 在master数据库中,创建一个视图,在表上执行UNION作为跨数据库查询 - SELECT * FROM Master..TableName UNION SELECT * FROM DB2..TableName UNION SELECT * FROM DB3..TableName
  4. 对于写作,您需要使用sprocs来查找相关记录并更新它们,但您不应该遇到重大问题。原则上,如果需要,您可以扩展上面的视图以返回记录所在的DB。

答案 1 :(得分:0)

回答这个问题非常困难,因为它需要至少了解一些有关数据模型的基本事实,查询数据的方式等。另外,正如rexem所建议的,更好地理解使用模型可能允许使用规范化来限制增长(我可能还允许引入压缩,如果适用)

我对一般方法和商业模式更加困惑(我确实理解需要根据广告收入降低启动应用程序的成本)。您是否能够在接下来的6个月内收到适合您需求的金额,然后,当您开始增加这个空间时,购买额外的存储空间(额外的6个月/年,到那时您可能会“富裕”) );这可能甚至不需要你的任何东西(取决于托管服务管理机架等的方式),或者更糟糕的是,可能要求你将旧数据库复制到新的(更大的)存储?

以这种方式,您不需要以任何人工方式拆分数据库,因此专注于面向客户的功能,而不是优化需要从多个服务器编译信息的查询。

答案 2 :(得分:0)

我认为解决方案比这简单得多:如果您的提供商在1 GB空间内管理数据库,并不意味着您拥有每个1 GB的N个数据库,这意味着一旦达到1 GB,数据库就会增加移动到2 GB,3 GB等等......

此致
马西莫

答案 3 :(得分:0)

您可以回答多个问题:

  1. 如果你说的话,当前的托管服务提供商似乎不是很可靠:每当初始版本达到1GB以上时,它们就会创建一个新数据库 - 这听起来很奇怪......至少他们应该增加存储空间对于当前的数据库,并宣布您将收取更多费用...查找其他更好选择的主机解决方案......
  2. 您当前的数据库中是否有可归档的信息?这是一个非常重要的问题,因为您可能会遗留“无用”数据,这些数据可以存档到单独的数据库中,并仅在特殊请求时查询。正如其他同事已经告诉你的那样,由于我们不了解数据模型,因此我们很难评估。
  3. 您是否可以将数据模型拆分为两个完全不同的存储区,并且只在它们之间复制常用信息?您可以使用SQL Server复制(http://technet.microsoft.com/en-us/library/ms151198.aspx)在数据库之间维护相同的成员资格信息。 如果数据模型无法拆分,那么我认为没有任何实际选择可以拥有多个数据库 - 只需找到更大的存储解决方案。

答案 4 :(得分:0)

您可能希望寻找更好的托管服务提供商。

即使SQL Express支持4GB数据库,也是免费的。有些主机不喜欢在共享环境中使用SQL Express,但是磁盘空间如此便宜,以至于找到一个以超过1GB的块开头或增长的计划应该非常简单。

答案 5 :(得分:0)

您应该使用Windows VPS解决方案。大多数Windows VPS提供程序将提供可支持最多10 GB数据库空间的SQL 2008 Web Edition ...