简体   繁体   English

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

[英]Which cloud database back end should I use for my Android app?

I'm designing a service that will comprise a cloud-based database (with a UI for us to manage the data), and then a mobile app for end-users that displays the data to people who want it (primarily read-only). 我正在设计一个服务,它将包含一个基于云的数据库(具有用于管理数据的UI),然后是一个面向最终用户的移动应用程序,用于向需要它的人显示数据(主要是只读) 。 The end-users will be anonymous. 最终用户将是匿名的。

The cloud database / app server needs to provide: 云数据库/应用服务器需要提供:

  • A solid, scalable, cloud-based database 一个可靠,可扩展,基于云的数据库

  • A nice easy API, REST, and ideally an Android SDK 一个不错的简单API,REST,理想情况下是一个Android SDK

  • A UI on the web to manage data (including creating forms across tables) Web上用于管理数据的UI(包括跨表创建表单)

  • Sensible pricing, but not free 明智的定价,但不是免费的

My options include Google App Engine, Microsoft Azure, hosted Couchdb, Salesforce's forthcoming database.com, and Amazon SimpleDB. 我的选择包括Google App Engine,Microsoft Azure,托管Couchdb,Salesforce即将推出的database.com和Amazon SimpleDB。 But my third requirement, web-based forms for internal data management, are proving the biggest hurdle. 但我的第三个要求是基于网络的内部数据管理表格,这是最大的障碍。

Database.com (or more specifically the force.com product) make it VERY easy to create online forms to run reports, and add and edit data. Database.com(或更具体地说是force.com产品)使得创建在线表单以运行报告以及添加和编辑数据非常容易。 But Salesforce are a pain in the backside to deal with, and the database.com pricing looks expensive. 但Salesforce在处理背后很痛苦,而且database.com定价看起来很昂贵。

People are suggesting I code up a UI myself for the data editing & management, and yes I could, but it's a lot of work (especially as I don't know Azure, Python etc), and I'd much rather put that effort into the app, which is what my customers will use. 人们建议我自己编写一个用于数据编辑和管理的UI,是的,我可以,但这是很多工作(特别是因为我不知道Azure,Python等),我更愿意付出这些努力进入应用程序,这是我的客户将使用。 I'm new to Android this year, so have my hands full learning the one platform. 今年我是Android的新手,所以让我的双手充分学习一个平台。

One option is for me to use force.com to manage the data, but then replicate it somewhere else, where the API calls come in, best of both worlds perhaps. 一种选择是让我使用force.com来管理数据,然后将其复制到API调用进入的其他地方,也许是两个世界中最好的。

Which option suits my needs best? 哪种选择最适合我的需求? I'm sure I'm far from alone in looking for a nice back-end service to sit behind mobile apps. 我确信在寻找一个不错的后端服务来支持移动应用程序时,我并不孤单。

Django is worth a look for App Engine - it comes with built in admin console support, which makes it easy to modify your datastore interactively. Django值得一看App Engine - 它内置管理控制台支持,可以轻松地以交互方式修改您的数据存储。 Check out django-nonrel if you're interested. 如果你有兴趣,请查看django-nonrel

If you go the Amazon SimpleDB route you'll also need a server to sign the requests. 如果您使用Amazon SimpleDB路线,您还需要一台服务器来签署请求。

There is no secure way to embed your Amazon access credentials into an application, so you'll need a web/application server as a 'middle man'. 没有安全的方法将您的Amazon访问凭证嵌入到应用程序中,因此您需要一个Web /应用程序服务器作为“中间人”。

In fact, I think you'll have this issue with most of the cloud based databases. 事实上,我认为大多数基于云的数据库都存在这个问题。

You mentioned "web-based forms for internal data management, are proving the biggest hurdle" caught my attention, I think you should take a look at online database builders like Ragic . 你提到“基于网络的内部数据管理表格,证明是最大的障碍”引起了我的注意,我认为你应该看看像Ragic这样的在线数据库构建者。

  1. You create the database on it like creating a spreadsheet form. 您可以在其上创建数据库,如创建电子表格表单。
  2. You use the web-based spreadsheet form for internal data management. 您可以使用基于Web的电子表格表单进行内部数据管理。
  3. All forms created has an HTTP API which returns JSON and you can create/update entries with it. 创建的所有表单都有一个HTTP API,它返回JSON,您可以使用它创建/更新条目。
  4. It supports linked fields for operations that will cross different forms. 它支持跨越不同形式的操作的链接字段。

Well. 好。
I cannot tell you what is the best for your needs, however, i do know that Restlet (http://www.restlet.org/) has both a GAE and Android SDK, perhaps this could be interesting? 我不能告诉你什么是最适合你的需求,但是,我知道Restlet(http://www.restlet.org/)既有GAE又有Android SDK,也许这可能有趣吗?

In my experience this works pretty smooth. 根据我的经验,这非常顺利。

SQL Azure has this that might help with your third requirement: http://blogs.msdn.com/b/sqlazure/archive/2010/08/25/10054230.aspx SQL Azure可能有助于满足您的第三个要求: http//blogs.msdn.com/b/sqlazure/archive/2010/08/25/10054230.aspx

Thought I'm not sure if it is out of CTP yet. 以为我不确定它是否已经过了CTP。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我应该在back4app中使用数据库吗 - Should I use a database with back4app 我应该使用哪个JDK来编译我的Android应用程序以及哪个版本? - Which JDK should I use to compile my Android app with and which version? 我应该为亚马逊应用程序使用亚马逊云服务器吗? - should I use amazon cloud server for android app? Android上的原始类型与托管类型-我应该在我的应用中使用哪一个 - primitive vs managed types on android - which one should i use in my app 我的 Android 应用应该使用哪种方式保存用户数据? - Which way of saving user data should I use for my Android app? 我应该使用哪种格式在Android App SQLite数据库中存储日期和时间,以便可以使用它们来绘制图形? - Which format should I use to store dates and times in an Android App SQLite Database, such that I can use them to plot a graph? 我应该使用哪个数据库? - which database should I use? 我应将哪个OAuth流程用于本机应用程序? - Which OAuth flow should I use for my native app? 我应该为我的Android应用保留哪些构建工件? - Which build artifacts should I keep for my Android app? 我应该使用哪个应用程序在android中编码python 3? - Which App should i use for coding python 3 in android?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM