Soojeong Lee

Jul 6, 2025

Soojeong Lee

Jul 6, 2025

Soojeong Lee

Jul 6, 2025

Consider saving media data

Consider saving media data

Where are the valuable photo/video data?

Where and how should I store it?

Plain text data, like notes, can be saved in the text field of a relational database, but I find myself wondering how to store media data such as videos and photos. This is because their size is large, and for me, who is creating the service, that results in huge costs.

So I'm pondering how to store media data. To decide, I considered the following:

  • Is the development API easy?

  • Is the service stable?

  • How much does it cost?

  • Is there a size limit?

I've decided to think about these points.


Can’t I just store it locally?

Basically, I think this service should not easily lose data. If I store it in app data (locally), if the app is deleted, the data will also disappear, so I thought it would be better to store media data in the cloud rather than locally.


Candidates?

  • AWS Bucket

  • Supabase

  • Firebase

  • Wasabi

I narrowed it down to this and decided to compare various factors.

Item

AWS S3

Supabase

Firebase Storage

Wasabi

Storage Capacity

Unlimited (based on billing)

2GB (free plan)

1GB (free plan)

Unlimited (affordable rate: $5.99/1TB/month)

Free Transfer Limit

1GB/month (billed beyond this)

2GB/month

10GB/month

Unlimited downloads (only uploads count towards paid capacity)

File Size Limit

Practically none

50MB per file limit

5GB per file

Over 5TB possible

Video Streaming Support

HLS/DASH possible (requires direct configuration)

None

Limited support

Direct configuration possible (S3 compatible)

Access Control

Very flexible with IAM, policies, etc.

Simple settings based on RLS

Settings based on Firebase Auth

Supports S3 style policies

Direct URL Access

Supports Presigned URL

Supports Presigned URL

Can issue download URL

Same as Presigned URL method

Integration Difficulty

High (complex but flexible)

Low (easy DB integration)

Low (optimized for app integration)

Medium (use S3 SDK, ample documentation)

Cost Structure

Charging for storage + requests + transfers

Free within storage/transfer limits

Free within storage/transfer limits

Fixed storage fee (downloads free)

If I calculate costs like this, it seems that storing in Wasabi might be a good idea. However, on the MVP front, I wonder if I'm taking on too much work, and I also think it might be good to slowly migrate to Wasabi.

According to the previous roadmap, I wanted to attach something that could track user metrics (churn rate). I'm considering whether using Firebase would be convenient in that regard.

For now, the conclusion is to go with Firebase, and when the significant usage increases and I have to consider migration, I'll gradually start moving to Wasabi.

Next Article

Next Article

Next Article

Comments

Comments

Comments