从SimpleDB导出到Mongo



从SimpleDB到MongoDB的移动相当直接吗?有什么需要我注意的吗?有什么限制吗?

Johnny,我们来看看所有的亮点,我只是在这里添加一些热门话题,希望能帮助你更快地决定是否要这样做:

  • 你使用SimpleDB,因为你不想成为一个服务器管理员,恢复丢失的服务器,运行备份,确保主/从配置工作或购买额外的硬件来运行DB。
  • 如果你使用Mongo,你将不得不做所有这些(除非你走MongoHQ路线),但回报灵活性和潜在的速度…这里有一个很大的"看情况"。
  • SimpleDB有一个非常简单的(字符串)存储和查询模型;如果你的数据/用例是简单的,它适合。
  • SimpleDB水平扩展非常好(同时处理数千个查询),但是垂直扩展速度相当慢。因此,如果您计划让少数用户查询您的数据存储,请考虑其他方法;往返SimpleDB的次数将会增加。但是如果你试图创建下一个twitter,并且需要横向服务数百/数千个用户,SimpleDB将在所有连接中为你提供相同的性能。
  • 横向缩放与Mongo是非常稳健的…但这也意味着它可以是复杂的(超越主/从,这是相当直接的)。复制品和仲裁者必须进入你的词汇表……考虑一下这是否是你想要的。
  • Mongo的查询模型与NoSQL数据存储一样接近SQL;
  • Mongo喜欢成为硬件上唯一的服务;如果你能把强壮的硬件扔到Mongo上,它就像梦一样运行。如果你使用mongo,你需要在不同的机器上运行至少两个实例。如果你不这样做,它会工作得很好,直到它不…然后你的世界就会融化。如果你这样做了,并且服务器崩溃了,另一个服务器将自动接管你的工作。

所以我想如果我必须总结一下:

    使用SimpleDB,如果你不想进入服务器管理游戏,不介意更简单的查询模型。
  • 使用MongoDB,如果你不介意成为一个细心的管理员与良好的习惯和/或需要复杂的查询功能。

希望对你有帮助。

我猜它们都是文档存储。

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

不同之处:

  • 配置(你需要服务器)
  • 客户端代码:你需要与驱动程序一起运行,你的查询可能不同
  • 分页
  • 可能的数据结构(不同的查询工具)
  • Map/reduce(在Javascript中使用MongoDB完成)

相同的内容:

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

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

尽管如此,我还是鼓励您测试MongoDB,因为您可能会发现它比SimpleDB提供了成本优势。

相关内容

  • 没有找到相关文章

最新更新