从SimpleDB导出到Mongo?

时间:2011-05-03 18:24:45

标签: mongodb amazon-simpledb

从SimpleDB迁移到MongoDB是否相当直接?有什么我应该注意的吗?有没有限制?

2 个答案:

答案 0 :(得分:0)

我猜他们都是文件商店。

所以SimpleDB是一个托管数据存储,带有用于操作数据的REST / SOAP API。 MongoDB是您在自己的硬件上运行的数据存储引擎,它使用一系列BSON命令来处理数据,但大多数用户运行supported drivers之一。

不同的事情:

  • 配置(您需要服务器)
  • 维护
  • 客户端代码:您需要使用驱动程序运行,您的查询可能不同
  • 索引
  • 寻呼
  • 可能是数据结构(不同的查询工具)
  • Map / Reduces(使用MongoDB在Javascript中完成)

相同的事情:

  • 数据:它们都是文档存储,应该能够处理相同的基本数据

理论上,您可以将数据从SimpleDB转储到MongoDB,但是对于数据的其他移动部分肯定会涉及一些工作。

所有这一切,我鼓励您测试MongoDB,因为您可能会发现它比SimpleDB提供了成本优势。

答案 1 :(得分:0)

约翰尼,盖茨击中了所有亮点,我只是在这里添加了一些热门话题,如果你想这样做,希望能帮助你更快地做出决定:

  • 您使用SimpleDB是因为您不想成为服务器管理员,恢复丢失的服务器,运行备份,确保主/从配置正常工作,或购买额外的硬件来运行数据库。
  • 如果你使用Mongo,你将不得不做所有这些(除非你去MongoHQ route)但是支付灵活性和可能速度......有一个很大的“它取决于“这里。”
  • SimpleDB有一个非常简单的(仅限字符串)存储和查询模型;如果您的数据/用例很简单,那么它就适合。
  • SimpleDB横向扩展得非常好(同时有数千个查询),但垂直方向相当慢。因此,如果您计划让一些用户从您的数据存储中查询bejesus,请考虑其他事项;往返SimpleDB的往返旅行将加起来。但是,如果您正在尝试创建下一个Twitter并需要横向为数百/数千名用户提供服务,那么SimpleDB将在所有连接中为您提供相同的性能。
  • 与Mongo水平缩放非常强大......但这也意味着它可能很复杂(超越Master / Slave,这非常简单)。副本集和仲裁者必须进入你的词汇表...考虑这是否是你想要的东西。
  • Mongo的查询模型与使用NoSQL数据存储的SQL一样接近;它非常丰富。
  • Mongo喜欢成为硬件上的唯一服务;如果你可以在Mongo上投入强大的硬件,那就像梦一样。
  • 如果使用mongo,则需要在不同的计算机上运行至少两个实例。如果你不这样做,它将正常工作,直到它没有...然后你的世界将融化。如果你这样做,服务器崩溃,另一个将自动接管你。

所以我想如果我不得不总结一下:

  • 如果您不想进入服务器管理游戏并且不介意更简单的查询模型,请使用SimpleDB。
  • 如果您不介意具有良好习惯和/或需要复杂查询功能的专注管理员,请使用MongoDB。

希望有所帮助。