-1

我正在使用 ASP.NET 4.5 和 SQL Server 2012 开发我的新 Web/移动应用程序。我希望我的数据库非常大,并且可以达到 TB 的数据。我知道,为了适应我的应用程序的高写入和读取以及数据容量,我需要使用集群。我想知道是否有一种解决方案可以让我从一台服务器/一个数据库开始,当我需要更多容量空间时,我可以在不更改代码的情况下实施它。

我更喜欢使用 SQL Server 2012,而不是使用 NoSQL 解决方案。我有什么选择。是否有任何 DBaaS 解决方案允许您针对一个数据库进行查询,但在幕后实施可以扩展到 TB 级数据存储的集群环境。

为 SQL Server 2012 选择 Amazon RDS 是一个很好的开始方式,但是当我需要更多空间(大于 1TB)时会发生什么。此外,不建议使用大型数据库。SQL Azure 和联合是一种选择,但存储大型数据库似乎很昂贵,并且您需要对代码进行更改。也许有某种中间件可以解决这个问题?

我需要的:

  1. SQL Server 2012 部署,从小处着手,随着数据库容量的增长能够增长
  2. 能够轻松备份和恢复数据
  3. 从常规 SQL Server 2012 安装开始,然后转到更高级的体系结构,而无需更改我的应用程序的代码
  4. 考虑 DBaaS 解决方案
  5. 需要支持触发器的解决方案

只是想补充一点,SQL Azure 和 Federaion 的问题是我无法在数据损坏方面备份/恢复数据库。这对我来说是一个真正的交易破坏者。我想要一个可以让我轻松备份和恢复数据的解决方案。

谢谢

4

1 回答 1

2

“轻松备份和恢复”是什么意思?如果您正在处理 TB 级的信息,那么简单就不会发生。仅文件副本就需要数小时,并且需要大量空间来保存备份。而且,如果您确实保留了 TB 级的信息,我认为您不会对与这种过程相关的停机时间感到满意。

根据我的经验(无论如何都不是详尽无遗的),没有任何使用 SQL Server 自动扩展的好方法。老实说,我不确定在任何类型的数据库方案中它是否容易或自动,但对于 SQL Server 来说肯定没有那么简单。

我已经完成了一些与您有相同要求的应用程序,并且我已经完成了一些,我只是“分片”了数据库并使用代码来聚合需要跨服务器的数据。

你能稍微改进一下你的要求吗?

于 2012-05-14T02:26:22.493 回答