6

我有兴趣在 Azure 上托管一个 mongoDB。我相信对于在 Azure 上托管数据库的确切方式,我有几个选择:虚拟机或辅助角色。每个选项的优缺点是什么?更具体地说,每种方法在维护、配置、可扩展性、从 .net 使用的难易程度和成本方面有何不同。以后切换到其他选项容易吗?

关于我正在创建的内容的一些详细信息(尽管我很想听听基于不同情况的选项的一般利弊): 数据库将由 Azure 网站访问。这个网站将是一个 ASP.net MVC Web API 站点休息服务。我不希望服务以及数据库的流量超过每分钟 100 个资源请求,至少开始。该数据库将相对较小,在可预见的未来将远低于 10,000 条记录。

4

1 回答 1

11

嗯... MongoDB 更容易在虚拟机中设置,因为您可以按照自己的意愿进行配置,而无需处理启动脚本来进行设置。

由于您将在 Azure 网站上拥有您的网站,因此您可以公开端点或在网站和虚拟机之间创建一个虚拟网络(现在支持)。

如果您正在部署独立服务器,那么虚拟机和辅助角色部署之间的区别就没有那么重要了。但是...一旦您进入副本集和分片,您就会发现虚拟机更易于使用。如果你想运行 Linux 而不是 Windows,你将别无选择,只能使用虚拟机。

关于从 .net 使用 MongoDB 的便利性:这根本不重要。

规模化:你不会经常改变你的虚拟机大小或虚拟机数量。对于任一设置,VM 大小更改应该是相同的体验。使用虚拟机横向扩展至更多虚拟机(例如扩展副本集)可能更易于管理,因为您将完全控制每个节点。这在缩减(删除节点)时可能更重要,因为工作角色实例缩减不允许您指定要摆脱的实例。

编辑 2015 年 7 月- 这个答案是 2 岁。我清理了一些东西。快速更新:

  • VM 大小比前面提到的要大得多(高达 448GB 32 核,对于 MongoDB 来说足够了),以及一些 VM 大小的 SSD 附加存储
  • 除了手动配置之外,新的 Azure 资源管理器还可用于在虚拟机上自动启动集群。

最后一个想法:在考虑选项时,您可能会考虑托管 MongoDB 解决方案,例如MongoLab。您可以通过 Azure Store 或直接通过 MongoLab 的网站设置免费 (500MB) 或付费数据库。设置只需一分钟...

于 2013-04-18T18:35:24.840 回答