SQL Azure 的数据库大小限制为 150 GB。我已多次阅读他们的文档并在网上搜索,但我不清楚这一点:使用联合是否允许开发人员超越 150 GB 的数据库?例如我可以有几个 150GB 的联邦成员吗?
如果没有,我如何在 Windows Azure 上处理大于 150 GB 的数据库?
基本上,如何在 Windows Azure 上横向扩展至 150 GB 以上
如果没有其他方法,RDS 是一个不错的选择(分享任何其他替代方案)
目前单个数据库不可能超过150G。
唯一的方法是将数据拆分到多个数据库中,一个帐户最多可以拥有 149 个用户数据库加上主数据库,或者使用 SQL Azure 联合。目前,如果我没记错的话,支持的联邦总数是Int16.MaxValue - 1
。每个联邦实际上是一个独立的数据库,对开发人员透明,最大可达 150GB。
然而,SQL Azure Federations 有其自身的优点和缺点,以及一些数据访问层重构。如果您有兴趣,可以观看有关 SQL Azure 联合的这些精彩视频:
- 使用 SQL Azure 构建可扩展的应用程序 http://channel9.msdn.com/events/TechEd/Europe/2012/DBI331
- 使用 SQL Azure 数据库联合 http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2295
UPDATE
我不会完全同意@ryancrawcour。他所解释的只是水下的冰山的顶峰。所需的重构量实际上取决于应用程序如何使用数据。我仅提及一些需要考虑的因素(这根本不是完整的情况)。考虑以下任何一项:
- 所有联盟通用的数据(如何获取这些数据)
- 存储过程,用于后处理数据 - 您必须迭代每个联邦成员并执行该存储过程。无法执行一次存储过程并处理所有联邦中的数据。
- 聚合数据,分布在超过 1 个联盟成员中
- 列出来自多个联盟成员的数据。
这些只是您需要考虑的几个操作,并且不需要在每个查询之前“仅更改连接字符串并执行一个使用联合...”。实际上,使用 SQL Azure 联合,您根本不需要更改连接字符串。它们都是相同的 SQL Azure 连接字符串。 “USE FEDERATION ...”语句是您在每个查询之前执行的语句。但这不仅仅是唯一的事情。如果使用 EntityFramework(模型优先,或代码优先,或其他)又如何?事情变得更加复杂,需要真正了解 SQL Azure 联合。
我想说 SQL Azure 联合是思考数据、建模和规范化的不同方式。
更新 2 - Microsoft 宣布的新数据库大小
自 2014 年 4 月 3 日起,单个数据库的最大大小已增加至 500GB。迄今为止唯一可用的信息is here http://www.microsofttrends.com/2014/04/03/improvements-to-azure-sqlincreased-size-limit-to-500-gb-and-an-improved-sla-at-99-95/。请注意,管理门户仍然不显示此选项(截至今天和现在:2014 年 4 月 4 日,15:00 GMT+0:00)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)