Pros of storing product metadata in MinIO
Single source of truth per object
Each app/binary has its metadata stored alongside it.
No need to synchronize database records with the object storage.
Reduces the risk of mismatched versions between database and storage.
Simplified distribution
When distributing presigned URLs for updates, the object itself contains the version info.
Client-side update checks can read metadata directly without hitting your Django API.
Reduced database load
Metadata queries do not require Django/MySQL transactions.
Can scale better for read-heavy update checks across many users.
Portable and decoupled
MinIO objects and metadata can be moved to another storage system (S3, Ceph) without changing your database schema.
Makes the product storage system more self-contained.
Atomic updates
When you upload a new version, you can atomically replace the object and its metadata together.
No database update step needed.