About unofficial and official db support

Hello, as a small new team we need a gaming backend, been using Nakama professionally on client side for years now so obvious choice is Nakama. As first time dealing with backend side,
according to docs:

Linux - Heroic Labs Documentation

It says CRDB is officially and PG is unofficially supported(What does unofficial support exactly?)

I was also checking for other products, and in Hiro docs it says

Installation - Heroic Labs Documentation

you should update your docker-compose accordingly, but as far as I see it only has an example for postgre, so is it only supported for postgre and can’t use it if I have opted in for CRDB?

And also in some other posts I found some team members saying for scalability CRDB is more optimal since it is new and had other design decisions in mind when it is written etc.

So a bit of clarity both as an answer and in docs would be appreciated (Considering it does not exist already I did not miss it in docs), should I go for CRDB or Postgre and do both have support for all other products?

And this one is suggestion, apart from topic but for heroic cloud it would be realllllllyyyyy nice to have a really small free tier (even up to 20 ccu or something equal of it in terms of resources) to see how the setup process is done without having to pay 400$ right away.

Hello @braty14,

The page you linked is a bit outdated, the statement of PG being unofficially supported held true a long time ago, but no longer - we’ll make sure to update the page.

Right now, both PG v14+ and CRDB v20.0+ are officially supported by Nakama. Hiro is built on top of Nakama so by extension it also supports either. Satori is a managed service that has its own database so you wouldn’t need to worry on compatibility.

For Nakama I would pick the database you feel more comfortable with, for development either is fine, for production CRDB does support a globally distributed setup but you likely won’t need it unless your game reaches outstanding scale which requires a globally distributed server topology as well - which comes with its own operational challenges.

Keep in mind that we only charge usage per day, so you won’t have to pay the price of a development tier instance upfront, but you may see a retainer on the full amount for a few days to ensure the card can cover it. We understand a free tier would be nice but given the OSS nature of the product it’s something that we don’t plan on supporting at the moment, but maybe we will in the future.

Best.

Thanks for the detailed answer @sesposito !

It really clears more than you intended probably. Also, (this one might be my inexperience) but
if I use heroic cloud for my project:

  • Don’t need docker-compose/Dockerfile since I only need to create image via builder and heroic handles the rest (only need them for local development/testing)
  • Don’t choose which db to use (crdb or pg) since it is also managed by heroic.
  • I literally only add my game logic and rest is handled basicly.

At least this is what I experienced so far with my DEV project in heroic clouds. I guess the things I mentioned also applies for a PROD project too. If that is the case, even our team who never dealed with backend infra before should be able to scale what we need and way more easily. Is the things I listed correct or did I misunderstand something?