我应该将哪个云数据库后端用于我的Android应用程序?

时间:2011-01-20 20:27:57

标签: android google-app-engine salesforce azure-sql-database amazon-simpledb

我正在设计一个服务,它将包含一个基于云的数据库(带有用于管理数据的UI),然后是一个面向最终用户的移动应用程序,用于向需要它的人显示数据(主要是读取) -只要)。最终用户将是匿名的。

云数据库/应用服务器需要提供:

  • 稳固,可扩展,基于云的数据库

  • 一个不错的简易API,REST,理想情况下是Android SDK

  • 网络上用于管理数据的UI(包括跨表创建表单)

  • 明智的定价,但不是免费的

我的选择包括Google App Engine,Microsoft Azure,托管Couchdb,Salesforce即将推出的database.com和Amazon SimpleDB。但我的第三个要求是基于网络的内部数据管理表格,这是最大的障碍。

Database.com(或更具体地说是force.com产品)可以非常轻松地创建在线表单来运行报告,添加和编辑数据。但Salesforce在处理背后很痛苦,而且database.com定价看起来很昂贵。

人们建议我自己编写一个用于数据编辑的用户界面。管理,是的,我可以,但它是很多工作(特别是因为我不知道Azure,Python等),我宁愿把这些努力投入到应用程序中,这是我的客户将使用的。我今年刚接触Android,所以请完全学习一个平台。

我可以选择使用force.com来管理数据,然后将其复制到API调用进入的其他地方,也许是两个世界中最好的。

哪种选择最适合我的需求?我确信我在寻找一个不错的后端服务,远远落后于移动应用程序。

5 个答案:

答案 0 :(得分:4)

Django值得一看App Engine - 它内置管理控制台支持,可以轻松地以交互方式修改您的数据存储。如果您有兴趣,请查看django-nonrel

答案 1 :(得分:2)

如果您使用Amazon SimpleDB路线,您还需要一台服务器来签署请求。

没有安全的方法将您的亚马逊访问凭据嵌入到应用程序中,因此您需要一个Web /应用程序服务器作为“中间人”。

事实上,我认为大多数基于云的数据库都存在这个问题。

答案 2 :(得分:1)

你提到“基于网络的内部数据管理表格,证明是最大的障碍”引起了我的注意,我认为你应该看看像Ragic这样的在线数据库构建者。

  1. 您可以在其上创建数据库,例如创建电子表格表单。
  2. 您可以使用基于网络的电子表格表单进行内部数据管理。
  3. 创建的所有表单都有一个HTTP API,它返回JSON,您可以使用它创建/更新条目。
  4. 它支持跨越不同形式的操作的链接字段。

答案 3 :(得分:0)

好。
我不能告诉你什么是最适合你的需求,但是,我知道Restlet(http://www.restlet.org/)既有GAE又有Android SDK,也许这可能很有趣?

根据我的经验,这非常顺利。

答案 4 :(得分:-1)

SQL Azure可以帮助满足您的第三个要求:http://blogs.msdn.com/b/sqlazure/archive/2010/08/25/10054230.aspx

以为我不确定它是否已经超出了CTP。