SQL Azure 的数据库大小限制为 150 GB。我已经多次阅读他们的文档并在网上搜索过,但我不清楚这一点:使用联合是否允许开发人员超过 150 GB 的数据库?例如,我可以有几个 150GB 的联盟成员。
如果没有,我如何在 Windows Azure 上处理大于 150 GB 的数据库?
基本上,我如何在 Windows Azure 上向外扩展超过 150 GB
如果没有其他方法是 RDS 一个好的选择(分享任何其他选择)
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 联合有其自身的优点和缺点,以及一些数据访问层重构。如果您有兴趣,可以查看 SQL Azure Federations 上的这些很酷的视频:
更新
我不会完全同意@ryancrawcour。他所解释的只是冰山的顶峰。所需重构的数量实际上取决于应用程序如何使用数据。我将仅提及一些考虑因素(根本不是完整的图片)。考虑以下任何一项:
这些只是您需要考虑的几个操作,并且不需要在每个查询之前“仅更改连接字符串并执行一个使用联合......”。实际上,使用 SQL Azure Federations,您根本不需要更改连接字符串。都是相同的 SQL Azure 连接字符串。“USE FEDERATION ...”语句是您在每次查询之前执行的语句。但这不仅仅是唯一的事情。如果一个人使用 EntityFramework(模型优先,或代码优先,或其他)怎么样。事情变得更加复杂,需要真正了解 SQL Azure 联合。
我想说的是,SQL Azure 联合是思考数据、建模和规范化的不同方式。
更新 2 - Microsoft 宣布的新数据库大小
自 2014 年 4 月 3 日起,单个数据库的最大大小已增加到 500GB。迄今为止唯一可用的信息在这里。请注意,管理门户仍未显示此选项(截至今天和现在:4. 2014 年 4 月,格林威治标准时间 15:00+0:00)。
还有持久性 VM 的新 Azure 功能(当前处于预览状态),它允许您将本地应用程序迁移到云中,而只需进行最少的更改。
进一步阅读:基础架构即服务系列:在 Windows Azure 虚拟机中运行 SQL Server 。本指南也可能会有所帮助。
编辑
这是与 Sql Azure 的比较
不久前我一直在寻找这些相同的答案。除了 Anton 提供的答案(非常准确)之外,我发现您可以通过负载平衡和镜像使您的 WAVM 与 SQL Server 安装冗余。
WASD 的优势在于一切都是自动化的。例如,当您的 WAVM 实例从负载均衡器的路由中取出时,您需要自己启动一个新实例。WASD 负责所有这些。
使用 WASD Federations,您可以扩展到 75TB 的数据(如果我没记错的话),而使用带有 SQL Server 的 WAVM,您可以扩展到 16TB。
此外,使用 WASD 联合,您可以更精细地划分 SQL 工作负载。
问候,
帕特里克
在考虑您的扩展选项时,请注意,截至 2014 年 4 月 3 日,Microsoft 宣布即将对 SQL Premium 进行更改,包括将每个 SQL 数据库实例扩展至 500GB 的能力(以及异地复制、自助恢复和更高的正常运行时间 SLA )。尚未宣布日期,但您可以在此处阅读有关公告的详细信息。
现在有一个 1 Terrabyte 层可用 - 请参阅https://azure.microsoft.com/en-us/pricing/details/sql-database/并查看高级级别。