6
$\begingroup$

What is the best noSQL backend to use for a mobile game? Users can make a lot of servers requests, it needs also to retrieve users' historical records (like app purchasing) and analytics of usage behavior.

$\endgroup$
3
  • 1
    $\begingroup$ Alot of browsergames use a documentdatabase like Mongo DB or Couch DB $\endgroup$
    – Johnny000
    May 16, 2014 at 6:15
  • 1
    $\begingroup$ As @Johnny000 mentioned, there are ones like MongoDB and CouchDB, that are widely used for that purpose. I would add that you should consider developer time as well when making the decision. $\endgroup$ May 16, 2014 at 12:35
  • 1
    $\begingroup$ You may want to consider a graph database that will help you manage relationships much faster. My favorite is OrientDB, which we use to manage a social network. $\endgroup$
    – Apollo
    May 17, 2014 at 3:51

1 Answer 1

7
$\begingroup$

Some factors you might consider:

Developer familiarity: go with whatever you or your developers are familiar with. Mongo, Couch, Riak, DynamoDB etc all have their strengths but all should do ok here, so rather than going for an unfamiliar solution that might be slightly better go for familiar and save a bunch of development time.

Ease of cloud deployment: for example, if you are using Amazon AWS, then DynamoDB is likely an excellent choice. Sure, you could use Mongo on AWS, but why bother? Other cloud providers have their own preferred db, for example if you are using Google AppEngine, it makes sense to use BigTable or Cloud Datastore.

Your use case seems both well suited to NoSQL and not very challenging since your data has a natural partition by user. I think you'd be technically ok with anything, which is why I'm mainly covering other factors.

$\endgroup$
1
  • $\begingroup$ So...Mobile App would write directly to DynamoDB or go via a web layer(REST API) that would write to DynamoDB? Any pros/cons or comments on that? $\endgroup$
    – Jasper
    Feb 4, 2015 at 18:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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