I am a beginner in the world of databases and I’m so confused with the amount of tools available. I am building an Instagram like app in Flutter and wanted to know what database should I study for it? And which cloud service should I use, AWS or Azure?
You can go with Firebase.
An instagram type app is heavy on images and video, which usually requires whats usually called “blob” (binary large object) storage. Examples would be:
- S3 bucket on AWS
- blob storage on Azure (Microsoft went with the creative name choice ;D)
- Cloud Storage on GCP
There are usually different versions for different use-cases, but the general idea is the same. A place in the cloud to store files, which is where you’d store your images/videos uploaded to the app.
You could store these in a traditional database, but such approaches usually aren’t worth it due to most databases not being setup to handle large binary data. You probably will still need a traditional database to keep track of where/what is in the blob storage, but the actual files/videos are saved in the storage, and just some reference in the database.
This actually doesn’t matter that much. All three major cloud providers compete against each other, so they all have similar offerings and pricing for most things. Generally there isn’t much of a difference between each of the three. Overall AWS is the biggest, and holds the large current market share of the cloud (like 30%) with GCP and Azure fighting over 2nd place with around 10% share each. Again, all three can handle this project, and the only differences are in the details.
So, checkout one of the blob storage DB to hold your larger files and don’t worry to much about which cloud.
Good luck, keep building and keep learning!