3

We are building a mobile app with a rails CMS to manage it.

What our app look like?

Every admin user of the app can set one private channel with very small amount of data - About 50 short strings.

Users can then download the app and register few different channels and fetch the data from the server to their devices. The data will be stored locally and will not be fetched again unless the admin user will update the data (but we assume that it won't happen so often). Every channel will be available to not more then 500 devices.

The users can contribute to the channel but this data will be stored on S3 and not on the database.

2 important points:

  1. Most of the channels will be active for 5 months and not for 500 users +-. But most of the activity will happen on the same couple of days.
  2. Every channel is for small amout of users (500) But we hope :) to get to hundreds of thousens of admin users.

Building the CMS with rails we saw that using SimpleDB is more strait-forward then using DynamoDB. But, as we are not server experts, we saw the limitations of SimpleDB and we don't know if SimpleDB could handle the amount of data transfer that we will have (if our app will succeed). another important point is that DynamoDb costs are much higher and not depended on the use while SimpleDb will be much cheaper at the beginning.

The question is:

  1. Does simpleDB can feet our needs?
  2. Could we migrate later to dynamoDB if our service will grow in the future ?
Adam
  • 723
  • 10
  • 22
shannoga
  • 19,649
  • 20
  • 104
  • 169

1 Answers1

3

Starting out with a new project and not really knowing what to expect from the usage i'd say that the better option is to go with SimpleDB. It doesn't sound like your usage is going to be very high SimpleDB should be able to handle that no problem. The real power of dynamoDB comes in when you really have a lot of load. You don't fall into that category it seems.

If you design your application correctly switching between SimpleDB and DynamoDB should be a simple task if you decide at some point that SimlpeDB is not working out. I do these kind of switches all the time with other components in my software. Since both databases are NoSQL you shouldn't have a problem converting between the two. Just make sure that any any features you use in SimpleDB are available in DynamoDB. Make sure to design your database design for both DynamoDB has stricter requirements using indexes make sure that the two will be compatible.

That being said. Plenty of people have been using SimpleDB for their applications and I don't expect that you would see any performance problems unless your product really takes off, at which time you can invest in resources to move to DynamoDB.

Aside from all that we have the pricing, like you already mentioned. SimpleDB is the obvious solution for your use case.

bwight
  • 3,300
  • 17
  • 21