Please suggest the best online database system for cocos2dx c++

I need to maintain an online database for my users. Basically I need to store user stats like, number of win, lose, play count, score, level, custom leaderboard, coins/rewards (virtual currency) etc. So what would be the best online database system to integrate? Number of users is targeted for more than a million.

Sometime ago I looked for that and found these ones:


https://www.photonengine.com/
https://www.gamesparks.com/
http://appwarp.shephertz.com/game-development-center/cocos2dx-game-developers-home/
https://heroiclabs.com/
https://www.blazesoft.ca/
https://getbraincloud.com/

There is no straightforward answer to that question. Do you want to write your own services that provide the functionality you are after, and connect them to a DB? Or, do you want the functionality already provided for you, which means the DB used is no longer relevant?

If you want to use services that provide the functionality you’re after, without having to care about which database they use, then an example would be GameSparks.

If you want to write the services yourself, then that would depend on how much you know about implementing web APIs and working with databases (plus other aspects like security/authentication/authorization etc.). You would also have to choose what type of database to use, and whether you want that database to be a managed service (like what is provided by Amazon, Azure, Google etc.) or self-maintained (running on a host, virtual machine or docker container in the cloud etc.).

Path of least resistance would be to use a service like GameSparks. That way you won’t have to care about the database or all the aspects of implementing your own web API.

If you want to go down the path of implementing everything yourself, then just know that it is by no means an easy task, so make sure that you’re realistic about your ability to do so within whatever time-frame is available to you.

Complementing, read the response from the PlayFab CEO comparing the option of creating your own services vs using something pre-built:

https://www.quora.com/Who-are-the-competitors-to-PlayFab-Inc-the-BaaS-for-games

I recommend Firebase’s Realtime Database