Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Even though the name is similar my question is not a dupe of the very fine question here:

Database in the cloud?

I've got a webserver (Java/Tomcat) running a webapp (which I wrote) on a dedicated server (which I fully configured myself) and I'd like to have it now use a small persistent DB.

I know how to install and configure a SQL DB like, say, PostgreSQL: I've already done it several times. But this time I'd like to do something different.

The DB schema is very simple. So simple that a spreadsheet is enough to store the data (a few columns and lots of rows). It would only grow by about 2000 rows a day (and that requirement, seen the datasource, cannot change in the future). (*)

I don't want to install PostgreSQL nor any other DB on my dedicated server: I don't want to bother with backup/configuration/re-installation if I migrate/update the server etc. so I'd like to keep my dedicated server as simple as possible and store the DB somewhere "in the cloud". By that I mean I'd like to have either Google or Amazon or someone else take care of the data (there's nothing confidential) and have an easy way to access it.

Ideally it should be free.

Here's what I'm thinking of at the moment:

  • every time new data comes in (from a fat client) I a) update a Google Doc spreadsheet using the Java API they provide and b) I warn my Java webapp that new data did arrive (about once every 10 minutes)

  • every time the Java webapp is launched and every time it gets notified that new data was in, it pulls data from the Google Doc spreadsheet using the Java API.

The advantage is that:

  • it's free
  • the Google Doc spreadsheet limits of 400 000 cells per document would allow me to have one spreadhseet per week (for example)
  • the DB is stored in Google's cloud, making it highly unlikely that I'd lose it
  • I can easily visualize my data from wherever I'd be: I can simply log on to Google Docs an open the spreadsheet

And of course I can still do my own daily or weekly backup of the data (offline onsite and online onsite for example).

I don't see any particularly hard technical issues here but I'm wondering what would the other options be?

How would you go about storing a very simple DB "in the cloud"?

(*) Should the requirement change later on, I could always move on to a "real" DB that I'd install on my server but as of now I'm really after having my data in the cloud

share|improve this question

1 Answer 1

up vote 4 down vote accepted

Read Write Web has a pretty recent summary of some good options for cloud based data providers. Exactly which one is really a tactical matter based on the nature of your data more than anything else.

As you note, any choice you do make still requires a backup method for saftey's sake. Even Amazon and Google go down from time to time.

share|improve this answer
    
+1 thanks for the link. I'm obviously leaning toward another option than the ones described in that link as of now: using Google Docs as a tiny and very simple DB. Still an interesting read. I'll check the pricing and APIs. –  Cedric Martin Nov 6 '11 at 17:59
    
If 400k cells per week is an effectively a bottleneck then you probably need a more robust solution. Or at least I would want a more robust solution if I were in your shoes. –  Wyatt Barnett Nov 6 '11 at 20:55
    
yup indeed: after reading your link and then doing some more research I'll probably use the Google App Engine datastore. The free version seems to offer plenty enough for my needs and seems to be much more robust. –  Cedric Martin Nov 6 '11 at 22:26

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.