Independent comparison · no paid rankings
Home / Blog / Comparison / S3 or block storage: where to put frequently changing data?

S3 or block storage: where to put frequently changing data?

MySQL, Redis cache, locked write files — block storage matches IOPS rhythm. S3 object fits immutable blobs — not databases mounted locally.

Hébergeurs.eu Editorial Team 4 min read Updated Jul 19, 2026

Someone suggests "put everything on S3" to cut cost. Except your PostgreSQL already runs on NVMe block — and a DBA reminds you that databases do not live in buckets.

Block storage (volume on a VPS, cloud disk, SAN) exposes a /dev/sdb device formatted ext4 or XFS. The database engine does random reads/writes, fsync, locks. Object storage exposes keys; each PUT replaces the whole object. Confusing the two for data changing every second is among the costliest architecture mistakes.

Block vs object: access semantics

NeedBlock diskObject storage
MySQL / PostgreSQL / local MongoDBYesNo
Redis AOF/RDB persistenceYesNo
Immutable photo uploadPossible but heavyIdeal
Archived append-only logsBlock then rotate → objectIdeal (lifecycle)
Frequent partial updatesYes (offset write)No (full rewrite)
Crash-consistent snapshotsYes (with care)Per-object versioning

Putting a database on S3 "because it scales" ignores that database scale comes from replication, not HTTP PUTs.

Frequently changing data: stay on block

Relational engines. Data directory, WAL, binlog: p99 latency and provisioned IOPS define load capacity. Cloud "database optimized" or NVMe volumes exist for this.

Persistent caches. Redis AOF, file sessions: small frequent writes — poor object fit.

Legacy POSIX apps. ERP writing hundreds of temp files in /tmp/app: block or local SSD.

Stateful containers. Named Docker volume for Elasticsearch or Prometheus TSDB — attached block, regular snapshots.

Block good practices: snapshot before major upgrade; monitor IOPS and free space with alert at 80%; separate data and OS on two volumes for targeted restore.

Rarely changing or write-once data: object wins

User media. Single write, many reads via CDN.

Backups and dumps. Compressed pg_dump to bucket with 30-day retention — classic and cheap.

Cold logs. 48h local block rotation, aggregate to cold-tier bucket.

CI artifacts. Versioned binaries, immutable by hash.

Scaleway, OVHcloud, and hyperscalers bill block and object separately: compare egress when restoring a database from S3 to a new volume.

The badly executed hybrid trap

Healthy pattern: database on NVMe, files on object, metadata in SQL.

Toxic pattern: database on block and critical app files only on block with no object backup — volume loss = total loss. Inverse toxic pattern: SQLite on NFS mounted from an object gateway — latency and corruption.

The peak: S3 billing is not architecture fit

Decide and move forward without blind spots

List each datastore with its write rhythm: operations per second, average size, mutable or immutable. Place databases and caches on block sized after real IOPS measurement under load. Export backups and media to object with lifecycle rules.

Test block volume restore and isolated object restore — not just backup creation. Browse block and object offers in our compare tool. For app files versus NAS, see Object storage or NAS.

Frequently asked questions

Can I host MySQL on object storage?

Not in standard production. MySQL needs a low-latency block filesystem. Object for dumps and archives.

When does S3 replace a block volume?

Write-once, read-many files via SDK/CDN. Frequent rewrites favour block.

Are block snapshots enough for backup?

Not alone. Combine snapshots, off-site object export, and restore tests.

How do I pick IOPS size?

Profile at peak: sustained IOPS, p99 latency. Avoid blind over- or under-provisioning.


Before migrating a database "to the cloud", ask: how many random writes per second? If you do not know, block is not sized yet — and S3 is not the answer.

Compare European hosts

Filter by compliance, location and use case — then open the sheets to verify the real scope.

Browse the directory
Blog

Related reading

All articles →