MongoLab与Azure表存储 [英] MongoLab vs Azure Table Storage

查看:126
本文介绍了MongoLab与Azure表存储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为此示例获取一个100gb的数据库:

Take a 100gb database for this example:

Azure存储成本:£6.05/m 带有1个节点的AWS上的MongoLab成本:£153.18/m

Azure Storage cost: £6.05/m MongoLab on AWS with 1 node cost: £153.18 /m

我错过了什么吗?计算不正确?有人可以在这里帮我清理一下吗?我宁愿使用MongoLab,因为我真的很喜欢node/mongoDB.但是,与表存储一起使用似乎是一种更具成本效益的解决方案.

Am I missing something? Calculated something incorrectly? Can someone clear things up for me here? I would much rather use MongoLab as I really like node/mongoDB. But it seems a much more cost effective solution to go with the Table Storage.

我知道键/值和文档存储之间的区别,我更喜欢后者.

I know the differences between Key/Value and Document store and I do prefer the latter.

推荐答案

您需要考虑Azure表存储(ATS)是存储即服务.您不需要设置任何服务器来管理存储和相关的CRUD操作.这是由Azure为您处理的,因为ATS是一个庞大的多租户系统.您只需索要一个帐户,接收一个端点(加上主键和辅助键),然后就离开了,每GB支付大约7美分(每10万笔交易支付1美分,这是微不足道的).

You need to consider that Azure Table Storage (ATS) is storage-as-a-service. You don't need to set up any servers to manage the storage and related CRUD operations. This is handled for you by Azure, as ATS is a massive multi-tenant system. You simply ask for an account, receive an endpoint (plus primary & secondary key), and off you go, paying about 7 cents per GB (and a penny per 100K transactions, which is fairly insignificant).

使用MongoDB,您需要在AWS或Azure(或本地或其他任何地方)中登台自己的服务器,以及设置存储.现成的云提供商没有现成的现成的MongoDB即服务产品.现在,您的成本基础比ATS高得多,并且您负责备份/快照,MongoDB维护等.即使是准系统的MongoDB部署也将使您至少花费两个虚拟机实例(建议不要在生产中使用独立服务器由于定期停机).最小的Azure实例每小时$ 0.02或每月$ 14 x 2,每月最少足迹为$ 30(这是一个内存不足1GB的低端虚拟机;它不会为您提供高性能的MongoDB,但是仅适用于访问点很少的访问点网站或博客).为了提高可用性,您可以以每月14美元/月的价格加上存储成本(这需要在持久存储中运行,因此您要讲的是7美分/GB/月)来运行单个超小型实例.

With MongoDB, you'd need to stage your own server(s), whether in AWS or in Azure (or on-premises or anywhere else), as well as provisioning storage. Out-of-the-box, today's cloud providers don't have a native MongoDB-as-a-Service offering. Your cost basis is now much higher than ATS, and you're responsible for backups/snapshots, MongoDB maintenance, etc. Even a bare-bones MongoDB deployment will cost you at least two virtual machine instances (a standalone server in production is not advisable due to periodic downtime). The smallest Azure instances are $0.02 / hour or about $14 monthly x 2, for a minimum footprint of about $30 / month (this is a low end virtual machine with under 1GB RAM; it will not provide you with high-performance MongoDB, but may work great for just a point-of-presence web site or blog with little traffic). Sacrificing availability, you could run a single extra-small instance at $14 / month plus storage cost (which needs to be in durable storage, so you're talking about 7 cents / GB / month).

现在,您提到MongoLab.他们 do 具有MongoDB即服务,并构建了多租户托管解决方案,并且它们的服务可在包括Azure在内的多个云上使用.他们收取的价格是他们在虚拟机实例,存储和带宽以及服务器维护,备份策略,支持,高可用性,监视等方面的投资的原因.

Now, you mention MongoLab. They do have MongoDB-as-a-Service, and have built a multi-tenant hosting solution, and their service is available on several clouds, including Azure. The price they charge accounts for their investment in virtual machine instances, storage, and bandwidth, as well as server maintenance, backup strategies, support, high availability, monitoring, etc.

存储成本是您唯一的决定因素,我不会太着急.如果您需要使用ATS进行需要多个索引字段的任何类型的复杂查询,则需要构造其他表以提供这些索引(或者最终将进行分区扫描或表扫描以查找所需内容)需要). MongoDB有一个非常强大的搜索和聚合引擎.如果您的应用程序需要此功能,那么与使用MongoDB和让应用程序今天运行"相比,您可能会花更多的钱在开发人员时的工程设计和维护额外的表存储复杂性上.另一方面,如果您的数据确实非常适合表存储,而分区+行键覆盖了绝大多数搜索用例,并且您可以利用实体​​组事务进行原子更新,则应该考虑表存储不仅要考虑成本,还要考虑规模(每个存储帐户200TB)和性能.

I wouldn't get too fixated on storage cost being your only determining factor. If you need to do any type of complex queries requiring, say, multiple indexed fields, with ATS you'll need to construct additional tables to provide those indexes (or you'll end up doing partition scans or table scans to find the content you need). MongoDB has a very powerful searching and aggregation engine. If your app needs this, you might spend more money on developer-time engineering and maintaining additional table storage complexity, vs. using MongoDB and having your app running "today." If, on the other hand, you have data that fits really well in table storage, where partition + row key covers the vast majority of your search cases, and you can take advantage of entity group transactions for atomic updates, you should consider table storage for not only cost but for scale (200TB per storage account) and performance.

我希望这对您有帮助...

I hope this helps...

这篇关于MongoLab与Azure表存储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆