我应该使用哪个数据库后端?

时间:2011-05-03 14:29:38

标签: mongodb couchdb amazon-simpledb bigtable database

我正在编写一个需要云后端数据库存储的iPhone应用程序。我有几个选择,并想知道哪一个更合适?

我需要什么:

  1. 能够通过iPhone应用程序在云端执行GRUD

  2. 数据库需要在没有太多或任何管理的情况下进行扩展(速度方面)

  3. 架构免费

  4. 我所需要的只是存储100万条记录

  5. Google App Engine:

    使用bigTable,scale和schema免费,但我需要编写一个RESTful接口

    CouchDB的:

    最近发布的iOS支持,RESTful内置,但我担心在与远程服务器同步时进行缩放

    SimpleDB :(似乎是我最好的选择)

    有iOS SDK,所以我可以直接做GRUD,自动缩放(我可能不会遇到10GB限制),架构免费

    MongoDB的:

    不知道多少,从我听到的,它比SimpleDB更快,并且易于设置,但我需要再次进行管理工作

    卡桑德拉:

    太多的工作,我需要的东西。

    非常感谢任何见解或反馈或纠正。

    此致

    约翰尼

2 个答案:

答案 0 :(得分:0)

SQL Azure服务。符合您的要求。

http://en.wikipedia.org/wiki/SQL_Azure

答案 1 :(得分:0)

如果您正在寻找最终的零管理,那么您已经回答过您自己SimpleDB或GAE可能是您的最佳选择。

SimpleDB在您的情况下可能更好,因为它将使您不必在GAE之上编写简单的RESTful接口。

请注意,它们在速度方面都不是很好。我使用了两者,并且有可见的查询延迟。不幸的是,你无法调整它 - 你完全掌握在亚马逊/谷歌手中。这是你自己不管理数据存储的代价,所以我想你必须决定是否愿意支付这个价格。

我建议您首先尝试使用SimpleDB,这很简单。如果延迟是一个问题,那么您可以转移到托管和调整自己的Mongo或其他选项。