Even though the name is similar my question is not a dupe of the very fine question here:
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