Azure的表VS的MongoDB在Azure上 [英] Azure Table Vs MongoDB on Azure

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

问题描述

我想使用的Windows Azure和数据卷的NoSQL数据库将非常大。无论是Azure的表存储或使用辅助角色可以提供更好的性能和可扩展性MongoDB数据库的运行?有没有人使用工作者角色使用的MongoDB在Azure上?请在Azure的表存储在Azure上使用MongoDB中分享你的看法。

I want to use a NoSQL database on Windows Azure and the data volume will be very large. Whether a Azure Table storage or a MongoDB database running using a Worker role can offer better performance and scalability? Has anyone used MongoDB on Azure using a Worker role? Please share your thoughts on using MongoDB on Azure over the Azure table storage.

推荐答案

表的存储是一个核心的Windows Azure存储功能,设计成可伸缩的(<击> 100TB <击> 200TB 500TB每帐户),耐用(三重复制在数据中心,任选georeplicated到另一数据中心),和无模式(每行可包含任何需要的特性)。一排位于由分区键+行键,提供了非常快速的查找。所有的表存储访问是通过通过任何语言定义良好的REST API可用(与软件开发工具包,建立在REST API之上,已经到位的.NET,PHP,Java和Python的&安培;红宝石)。

Table Storage is a core Windows Azure storage feature, designed to be scalable (100TB 200TB 500TB per account), durable (triple-replicated in the data center, optionally georeplicated to another data center), and schemaless (each row may contain any properties you want). A row is located by partition key + row key, providing very fast lookup. All Table Storage access is via a well-defined REST API usable through any language (with SDKs, built on top of the REST APIs, already in place for .NET, PHP, Java, Python & Ruby).

MongoDB是一个面向文档的数据库。在Azure上运行它,您需要安装MongoDB中到一个web /辅助角色或虚拟机,将其指向云驱动器(从而提供驱动器盘符)或连接的磁盘(适用于Windows / Linux的虚拟机),可选择开启日记(我建议你),以及可选定义外部终端为您的使用(或通过虚拟的网络访问它)。云驱动器/连接的磁盘,顺便说一句,其实是存储在Azure的斑点,给你同样的耐用性和georeplication作为Azure的表。

MongoDB is a document-oriented database. To run it in Azure, you need to install MongoDB onto a web/worker roles or Virtual Machine, point it to a cloud drive (thereby providing a drive letter) or attached disk (for Windows/Linux Virtual Machines), optionally turn on journaling (which I'd recommend), and optionally define an external endpoint for your use (or access it via virtual network). The Cloud Drive / attached disk, by the way, is actually stored in an Azure Blob, giving you the same durability and georeplication as Azure Tables.

在两相比较,记住,表的存储是存储 - 作为一种服务:你只需访问一个众所周知的REST端点。随着MongoDB的,你是负责维护的数据库(如MongoDB的时公司(前身为10gen的)推出的MongoDB的新版本,你需要更新你的服务器)。

When comparing the two, remember that Table Storage is Storage-as-a-Service: you simply access a well-known REST endpoint. With MongoDB, you're responsible for maintaining the database (e.g. whenever MongoDB Inc (formerly 10gen) pushes out a new version of MongoDB, you'll need to update your server accordingly).

关于MongoDB的公司的alpha版本指向jtoberon:如果你在它仔细查找,你会看到几个关键的事情:

Regarding MongoDB Inc's alpha version pointed to by jtoberon: If you take a close look at it, you'll see a few key things:


  • 的设置是一个独立的MongoDB实例,无副本集或碎片。关于副本集,你仍然使用的单机版,由于方式的Blob存储的作品得到一些好处。

  • 要提供高可用性,您可以使用多个实例上运行。在这种情况下,只有一个实例提供数据库,一个是热备份,一旦启动的mongod过程作为另一个实例失败(用于维护重新启动,硬件故障等)。

虽然10gen公司的Windows Azure的包装仍然被认为是'阿尔法'mongod.exe不是。可以启动mongod的exe文件,就像你启动任何其他Windows EXE。这只是各地开展管理code,而这正是该ALPA实现展示。

While 10gen's Windows Azure wrapper is still considered 'alpha,' mongod.exe is not. You can launch the mongod exe just like you'd launch any other Windows exe. It's just the management code around the launching, and that's what the alpa implementation is demonstrating.

编辑2011-12-8:这不再是一个alpha状态。你可以在这里下载最新的MongoDB +的Windows Azure项目,它提供了副本集的支持。

EDIT 2011-12-8: This is no longer in an alpha state. You can download the latest MongoDB+Windows Azure project here, which provides replica-set support.

有关的表现,我想你会需要做一些标杆。话虽如此,考虑以下几点:

For performance, I think you'll need to do some benchmarking. Having said that, consider the following:


  • 在当前的,比如说,一个Web角色上获取表的存储或MongoDB中,你还在伸手到Windows Azure存储系统
  • MongoDB使用大量内存的它自己的缓存。由于这个原因,许多高规模的MongoDB系统的部署到较大的实例大小。对于表的存储访问,你不会有相同的内存大小的考虑。

  • When accessing either Table Storage or MongoDB from, say, a Web Role, you're still reaching out to the Windows Azure Storage system.
  • MongoDB uses lots of memory for its own cache. For this reason, lots of high-scale MongoDB systems are deployed to larger instance sizes. For Table Storage access, you won't have the same memory-size consideration.

修改2015年4月7日
如果您想使用基于文档的数据库作为一种服务,天青现在提供DocumentDB。

EDIT April 7, 2015 If you want to use a document-based database as-a-service, Azure now offers DocumentDB.

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

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