何时自托管表存储比Azure便宜

时间:2015-03-03 18:16:43

标签: mongodb hosting azure-storage

我在网上搜索过,找不到任何好的报道。我认为这是一个常见问题,但我可能错了(鉴于网上缺少数据)。

我们正在构建一个新的net应用程序,并且正在查看不同的NoSQL后端。最有希望的两个(在功能,市场采用,性能方面)是Azure表存储和MongoDB。毫无疑问,当您的客户端数量(以及IOps数量)较低时,Azure表存储在短期内会更便宜。但是,如果/当我们的应用程序变大,我非常关注供应商锁定,现在我们被迫分享相当大的月度利润,特别是如果价格上涨的话。

我能够在MongoDB主机上找到一些关于Azure VMs与Azure表存储的报告,但它们都是由Microsoft Azure MVP编写的。虽然我尊重MS MVP,但这并不是一个公正的比较,而不是我正在寻找的。我正在寻找Azure Table存储与Colo中托管的MongoDB集群之间的比较。例如,我已经阅读过令人信服的配置,人们在SuperMicro 2U机器上运行Hadoop或Mongo,其中24x内部驱动器具有惊人的IOP性能以及Azure表存储的所有相同横向扩展优势。

这么长的故事简短(呃),Azure VM上的Mongo比Azure表存储更昂贵,我并不感到惊讶。考虑到IaaS提供商在桌面存储上与虚拟机之间赚钱的方式,这是完全合理的。

我的问题是:在低成本托管数据中心的廉价Mongo节点在什么时候(如果有的话)变得比Azure表存储的每月成本便宜。因为这是Mongo的全部观点,对吧?你的硬件和托管成本应该是传统RDBMS应用程序的一小部分,因为您不需要高端托管,昂贵的SAN存储等。它旨在成为一个真正的集群数据存储系统,具有许多廉价的冗余节点。

-OR -

如果您认为我对MongoDB和Azure Table Storage的比较存在根本缺陷(意味着它们没有类似的功能集),那么我也很乐意听到这些论点。

全心全意,

1 个答案:

答案 0 :(得分:3)

  

如果您认为我对MongoDB和Azure Table Storage的比较存在根本缺陷(意味着它们没有类似的功能集),那么我也很乐意听到这些论点。

我认为这种比较很难有几个原因: 1)表存储是一种托管的No-SQL产品,其中为您处理动态负载平衡和扩展,具有相当高的规模限制(500TB,20K实体/秒;详细信息:https://msdn.microsoft.com/en-us/library/azure/dn249410.aspx)。与您提到的基于Mongo的解决方案相比,您必须自己监控和扩展Mongo群集 2)表存储针对点查找进行了优化,您可以在其中指定分区键和行键,并且对其他实体的索引等特定事项更难实现。另一方面,Mongo是一个JSON文档存储,可以更好地支持任何字段上的即席查询和索引。

此外,由于我在Azure存储工程团队工作,因此我对Azure MVP的偏见并不多。但我认为您必须为您的工作量选择正确/最有效的解决方案。您可以使Table Storage或Mongo解决您的问题,但根据您的写入和查询模式以及比例,一个可能比另一个更容易(或者一些完全不同的解决方案可能更好)