databaseStorage

Buckets vs. Volumes — Choosing the Right Storage

Both Buckets and Volumes provide persistent storage, but they serve fundamentally different purposes. Use the table below to decide which is right for your use case.

Buckets

Volumes

Underlying protocol

S3 / Walrus (object storage)

Ceph, R2, or Vendor (block / file storage)

How you access data

Via API or HTTP requests

Mounted as a local directory path inside your container (e.g., /home/user/data)

Feels like

A cloud drive / network file share accessed through code

A hard disk physically attached to your machine

Best for

Datasets, model weight archives, media outputs, AI workflow artifacts, static files

Active training checkpoints, databases, code, config files, anything requiring frequent read/write

On-chain verification

✅ Every file has a verifiable ID and tracked history on Walrus

❌ Not applicable

File size limit (UI upload)

Max 20 MB per file, max 500 files per upload

No per-file limit (block device, size set at volume creation)

Capacity model

Usage-based (pay for what you store)

Pre-provisioned in GB at creation time (1–10,240 GB)

Typical use cases

Training datasets, model releases, generated images/videos/audio, log archives

In-progress model checkpoints, fine-tuning data staging, application databases, shared code repos

Rule of thumb:

  • If your workload needs to read or write files rapidly and repeatedly during a training or inference job → use a Volume.

  • If you need to store and share large files between jobs, archive outputs, or serve data via HTTP → use a Bucket.

Last updated

Was this helpful?