我正在设计一个服务,它将包含一个基于云的数据库(带有用于管理数据的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调用进入的其他地方,也许是两个世界中最好的。
哪种选择最适合我的需求?我确信我在寻找一个不错的后端服务,远远落后于移动应用程序。
答案 0 :(得分:4)
Django值得一看App Engine - 它内置管理控制台支持,可以轻松地以交互方式修改您的数据存储。如果您有兴趣,请查看django-nonrel。
答案 1 :(得分:2)
如果您使用Amazon SimpleDB路线,您还需要一台服务器来签署请求。
没有安全的方法将您的亚马逊访问凭据嵌入到应用程序中,因此您需要一个Web /应用程序服务器作为“中间人”。
事实上,我认为大多数基于云的数据库都存在这个问题。
答案 2 :(得分:1)
你提到“基于网络的内部数据管理表格,证明是最大的障碍”引起了我的注意,我认为你应该看看像Ragic这样的在线数据库构建者。
答案 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。