克服Windows Azure Sql数据库150 GB的大小限制

SQL Azure的数据库大小限制为150 GB。 我已经通过他们的文档多次阅读,也在网上search,但我不清楚这一点:使用联合会允许开发人员超过150 GB的数据库增长? 例如,我可以有几个150GB的联邦成员。

如果不是,我怎样才能在Windows Azure上处理大于150 GB的数据库?

基本上,如何在Windows Azure上扩展超过150 GB

如果RDS没有其他方法是一个很好的select(分享任何其他的select)

目前不可能有一个大于150G的数据库。

唯一的方法是将数据分成多个数据库,一个帐户可以有多达149个用户数据库加上主数据库,或者使用SQL Azure联合。 目前,如果我没有错,支持的联盟总数是Int16.MaxValue - 1 。 每个联合实际上是一个独立的数据库,对开发者来说是透明的,可以达到150GB。

但是,SQL Azure Federations有其自身的优点和缺点,以及一些数据访问层的重新分解。 如果您有兴趣,可以在SQL Azure Federations上查看这些很酷的视频:

  • 使用SQL Azure构建可扩展的应用程序
  • 使用SQL Azure数据库联合

UPDATE

我不会完全同意@ryancrawcour。 他解释的只是水面下的冰山的顶峰。 所需的重新分解量实际上取决于应用程序如何消耗数据。 我只是提到一些考虑因素(根本不完整)。 考虑以下任何一项:

  • 所有联合的常见数据(如何获取这些数据)
  • 存储过程,后处理数据 – 你必须在每个和每一个联邦成员迭代,并执行存储过程。 没有办法一次执行存储过程并在所有联合处理数据。
  • 汇总数据,分散在1个以上的联合成员
  • 列出来自多个联合会成员的数据。

这些只是您需要考虑的几个操作,在每个查询之前不需要“仅更改连接字符串并执行一个使用联合…”。 实际上使用SQL Azure联合,你根本不需要改变连接字符串。 这是所有相同的SQL Azure连接字符串。 “USE FEDERATION …”语句是每个查询之前执行的语句。 但这不仅仅是唯一的方法。 而如果一个人使用EntityFramework(模型第一,或代码第一,或其他)如何? 事情变得更加复杂,需要真正了解SQL Azure Federations。

我会说,SQL Azure联盟是对数据进行建模和规范化的不同思考方式。

更新2 – 由微软公布的新数据库大小

截至2014年4月3日,单个数据库的最大容量已增加到500GB。 迄今为止唯一可用的信息是在这里 。 请注意,管理门户网站仍未显示此选项(截至今天和明天:2014年4月14日,格林威治标准时间15:00 GMT + 0:00)。

前段时间我一直在寻找这些相同的答案。 除了Anton提供的答案(非常准确)之外,我发现你可以通过负载平衡和镜像来使你的WAVM与SQL server安装冗余。

WASD的优点是一切都自动化。 例如,当你的WAVM实例从负载均衡器的路由中取出时,你需要自己带一个新的。 WASD负责所有这些。

有了WASD联盟,您可以扩展到75TB的数据(如果我没有记错的话),而使用SQL server的WAVM可以扩展到16TB的顶端。

此外,通过WASD联合,您可以更细化地划分SQL工作负载。

问候,

Patriek

还有持久性虚拟机的新Azure功能(目前处于预览状态),这将允许您将本地应用程序迁移到云,只需进行很少的更改。

深入阅读: 基础架构即服务系列:在Windows Azure虚拟机中运行SQL server 。 本指南可能也有帮助。

编辑

这里是与Sql Azure的比较

请注意,截至2014年4月3日,微软宣布即将对SQL Premium进行更改,包括将每个SQL数据库实例扩展到500GB的能力(以及地理复制,自助恢复和更高的正常运行时间SLA )。 尚未公布任何日期,但您可以在此阅读有关公告的详细信息。