Best cloud database to store app data?
I'm currently programming an app with .Net Maui. I want to retrieve data from each user, including strings, integers, and a list containing a few objects from another class.
I also used a lot of images in my app, which I would ideally like to store in the cloud, as otherwise they would take up a lot of storage space for the user.
What's the best way to store all this data online? What do you think about Google Firebase, Microsoft Azure, or MongoDB?
In the end, these images have to be downloaded by the client for the display. Therefore it certainly makes sense to see if you can divide. Application-related images (Splashscreen, Programmicons, etc.) would be embedded in the app, user-related images (profile image, account background image, etc.) can be saved directly to the user (at least if they do not have to be centrally stored because other users can also see these images).
The same question can be asked in relation to the text data. If they are not to be shared centrally, they will be stored in a SQLite database at the client. It can also use them offline and saves network communication.
Firebase is the simplest choice in this list. The service is flexible and quickly set up, for data management there is an API (and various in/official client libraries). I think it is therefore particularly suitable for small to medium-sized projects. The data is stored in a NoSQL database (cloud-based or not).
Azure Mobile Apps (that would be the right service Microsoft Azure provides for your case) is also a good solution for itself, but with its wide range of functions it is much more focused on company-based projects. As with Firebase, an API allows you to access data, with regard to the database system you have a larger selection (Azure SQL / MariaDB / Azure Cosmos DB, etc.).
At a MongoDB you have to look where it can be hosted and by whom. A proxy should always be located between the app and the database system (e.g. a web API) that controls access to the database, so that no one can access the data directly and unauthorizedly. With regard to the database configuration, you have more options than with a service provider such as Firebase.
I’m fine with Firebase, too. I haven’t really trusted Azure yet.
Appwrite.io and Supabase are also great alternatives. Look around. Appwrite I find a bit simpler, but I am disturbed that you must use their own NoSQL while Supabase works with PostreSQL.