Which cloud database database should I use for my Android application?

I am developing a service that will contain a cloud database (with a user interface for managing data), and then a mobile application for end users that displays data for people who want it (mostly just to read). End users will be anonymous.

The cloud server / application server must provide:

  • Solid, scalable cloud database

  • Nice simple API, REST and, ideally, Android SDK

  • Online user interface for data management (including creating forms through tables)

  • Reasonable pricing but not free

My options include Google App Engine, Microsoft Azure hosted by Couchdb, Salesforce, upcoming databases, and Amazon SimpleDB. But my third requirement, based on web forms for internal data management, is the biggest hurdle.

Database.com (or, more specifically, force.com) makes it VERY easy to create online forms for running reports, as well as adding and editing data. But Salesforce is a pain in the back that you have to deal with, and the price of the database looks expensive.

People assume that I myself am coding the user interface for editing and data management, and yes, I could, but it’s a lot of work (especially since I don’t know Azure, Python, etc.), and I would prefer to make this effort into the application that my clients will use. I am new to Android this year, so my hands are fully exploring one platform.

One option is that I can use force.com to manage the data, but then replicate it somewhere else where the API calls come from, possibly from both worlds.

Which option is best for me? I am sure that I am far from being alone and looking for a good service to support mobile applications.

+6
android google-app-engine amazon-simpledb salesforce azure-sql-database
source share
5 answers

Django is worth a look at the App Engine - it comes with built-in support for the admin console, which makes it easy to change your data store online. If you're interested, django-nonrel

+4
source share

If you are on the Amazon SimpleDB route, you will also need a server to sign requests.

There is no reliable way to embed your Amazon access credentials in an application, so you need an application web server as an “average person.”

In fact, I think you will have this problem with most cloud databases.

+2
source share

You mentioned that “web forms for internal data management prove that the biggest obstacle” has caught my attention, I think you should take a look at the developers of online databases such as Ragic .

  • You create a database on it, like creating a spreadsheet form.
  • For internal data management, a spreadsheet web form is used.
  • All created forms have an HTTP API that returns JSON, and you can create / update entries with it.
  • It supports related fields for operations that will cross different forms.
+1
source share

Well.
I can’t tell you what is best for your needs, however I know that Restlet (http://www.restlet.org/) has both GAE and Android SDK, maybe this might be interesting?

In my experience, this works pretty smoothly.

0
source share

In SQL Azure, this can help with your third requirement: http://blogs.msdn.com/b/sqlazure/archive/2010/08/25/10054230.aspx

I think I'm not sure that he is not yet in CTP.

-one
source share

All Articles