Which database should I choose?

Hi guys!

I have just started working on my project.

Just wanna try myself in creating a small online survival game, therefore a database will be required to save user data.

As I am not planning to make my own login system, there is just no need in it, I will use either steam ID or Epic ID to identify players.

The question is for this kind of project can sqlite be used or MySQL better covers my needs? Or maybe I should use something else?

Also I have heard that, in case you are going to use MySQL for commercial, you need to buy the license. Is that correct?

Are you sure a DB is what you need?

Unless you specifically want to be able to use SQL commands to find and sort user data, a save game object would do great…

:slight_smile:

Save Game is only sufficent for single server instances, if you do more then that and you serious about server work DB server is a must go. For starters it a lot easier to maintain and manage, save game file corrupts and you got big problem. DB also makes compatible with many other server services, like manage your account in HTTP or show stats on websites, if you do this in DB it’s less of hassle.

That depends on what you want to do with that data, if data will be in single server instance then SQLite will be sufficent (save file too as ClockworkOcean), if you plan to use it in all servers then MySQL will be way better, if you plan to invovle other services then it even more better. Tehre also option to use HTTP to communicate with data base, but you would need to make HTTP part and make it secure

As far as i know, licence is for MySQL library, MySQL server it self not a service, so if you got hosting service with MySQL then hoster is one who deal with license, so you could avoid dealing with license if you use HTTP. But i didn’t work with web applciation for long time, so im not 100% sure, back when i was on it anyone used MySQL for free as a service available in the host, regardless if they earn money or not.

Also there was fork made when MySQL was taken by Oracle, MariaDB. you might look in to it if you worried about legality https://mariadb.org/

…but remeber if library is GPL you can not directly use it with UE4 code (you can not make a Ue4 module that use GPL library) it’s againts UE4 EULA. Primerly because if you would use GPL library the rest of UE4 would need to be in GPL. Now that i think about this include MySQL too that why it does not have direct support for it