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.
-
1$\begingroup$ Alot of browsergames use a documentdatabase like Mongo DB or Couch DB $\endgroup$– Johnny000May 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$– Christopher LoudenMay 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$– ApolloMay 17, 2014 at 3:51
1 Answer
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.
-
$\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$– JasperFeb 4, 2015 at 18:33