
Using AIOZ Storage as a dataset and model-output backend means treating it as exactly what it is: an S3-compatible object store, not a purpose-built MLOps platform. That distinction decides what you should and shouldn't expect from it. This article covers what actually works today, training data in and model outputs out, using the buckets, presigned URLs, and access grants already documented, and where the honest boundaries sit: no native object versioning, no lifecycle policies, and nothing dataset-format-aware built in.
TL;DR:
Updated Oct 19, 2026: corrected a line that said AIOZ Storage has no vector database. The docs now document a Vector Database.
Two directions, both handled the same way at the storage layer. Datasets in: training data, images, or any input a job needs to read before it runs. Outputs out: checkpoints, generated files, logs, anything a job produces that needs to persist after it finishes. AIOZ Storage doesn't distinguish between the two, both are just objects in a bucket, which is exactly the point. It is a storage layer, not a training or orchestration layer, and this article stays scoped to what happens at that layer.
Upload and download at whatever scale your job needs. AIOZ's published usage limits document 100 buckets and 100 sub-users per account and a 100 request-per-second rate limit, but name no maximum object size or bucket size, so a multi-gigabyte checkpoint file isn't documented as a problem the way it would be against a service with an explicit per-object cap. Organize datasets and outputs by bucket and key prefix, the same structure every S3-compatible tool already expects, and reachable through the JavaScript, Go, Python, and CLI paths already covered on this hub.
Two access-control tools matter specifically for a pipeline, not just a person. Presigned URLs work against AIOZ Storage exactly like they work against S3, since signing happens client-side and doesn't depend on anything AIOZ-specific: hand a training job a time-limited download link for a dataset, or a time-limited upload link for its output, without ever giving it a standing credential. For access that needs to persist longer than a single job run, an access grant scoped to Read on the dataset bucket and Write on the output bucket does the same job with an expiration you control, up to a year out.
No documented object versioning. AIOZ's public documentation does not describe a versioning feature, the ability to keep prior copies of an object as it gets overwritten, the way S3 buckets can be configured to do. If a pipeline overwrites latest-checkpoint.pt in place, the previous version is gone, and there is no built-in undo. The practical workaround, covered below, is naming discipline rather than a platform feature.
No documented lifecycle or tiering policies. There is no published mechanism for auto-expiring old objects, auto-deleting stale experiment outputs, or moving cold data to a cheaper storage class, all common S3 lifecycle-rule features. Anything like that has to be scripted and run on a schedule yourself, there's no server-side rule to configure.
No dataset-format awareness. AIOZ Storage stores whatever bytes you give it. It doesn't understand Parquet, WebDataset, or any ML-specific packaging format any more than raw S3 does. Vector search is a separate feature: the AIOZ Storage Vector Database stores and queries embeddings through the AWS S3 Vectors SDKs, but you create the embeddings with your own model, and it doesn't read your dataset files for you. Format-aware processing still happens in a layer your pipeline builds on top.
Since there's no built-in version history, the workaround is putting the version in the key instead of relying on the platform to remember it. A dataset bucket organized as datasets/<name>/<version>/... and an output bucket organized as outputs/<run-id>/<checkpoint-name> means every write is a new key, not an overwrite, and nothing gets silently lost. This is the same pattern teams use against plain S3 when they choose not to enable versioning for cost reasons, it isn't an AIOZ-specific workaround, just the standard answer to the same standard gap.
If manual naming discipline isn't enough, DVC (Data Version Control), an open-source tool built for exactly this problem, layers real versioning on top of any S3-compatible remote, tracking data and model versions through Git commits while the actual bytes sit in your bucket. Its dvc remote modify <name> endpointurl <url> command is documented specifically for pointing DVC at non-AWS S3-compatible services like MinIO, the same config shape AIOZ Storage's own endpoint fits, so an AIOZ Storage bucket is a legitimate DVC remote target, the same way it's a legitimate target for any other S3-compatible tool covered on this hub.
Pair that with the access-control split above: a read-scoped access grant or presigned URL for the dataset bucket a training job pulls from, and a separate write-scoped one for the output bucket it writes to. Two different scopes for two different directions of traffic, rather than one broad credential that can do both, keeps a misbehaving job from being able to overwrite the dataset it's supposed to only be reading.
Worth being direct about the tradeoff rather than dodging it. Platforms built specifically for ML artifacts, dataset registries and experiment-tracking tools with built-in versioning, lineage, and metadata search, do things AIOZ Storage doesn't attempt to do at the storage layer. What AIOZ Storage offers instead is a plain, S3-compatible object store on decentralized infrastructure, at the pricing and encryption model covered elsewhere on this hub. If your pipeline already treats S3 as a dumb, reliable object layer and handles versioning or metadata itself, that's a straightforward swap. If it depends on a platform's native versioning or lineage features, those don't come with the endpoint, and building them yourself is real, non-trivial work worth planning for upfront.
Can I store large model checkpoint files on AIOZ Storage?
AIOZ's published usage limits document account-level caps (100 buckets, 100 sub-users, 100 requests per second) but no maximum object or bucket size, so a large checkpoint file isn't documented as a problem the way it would be against a service with an explicit per-object cap.
Does AIOZ Storage support object versioning?
Not that its public documentation describes. There is no documented feature for keeping prior versions of an overwritten object. The workaround is either a version identifier in the object key itself, or a tool built for this specifically, like DVC, which layers real versioning on top of any S3-compatible remote through its endpointurl config option.
Can I set up automatic expiration for old training outputs?
Not through a documented AIOZ Storage feature. There's no published lifecycle-policy mechanism for auto-expiring or auto-tiering objects; cleanup has to be scripted and scheduled yourself.
How do I give a training job temporary access to a dataset without sharing my main credentials?
A presigned URL, generated client-side with the same boto3 method used against Amazon S3, or a time-scoped access grant if the job needs longer-lived access than a single presigned link's expiration window.
Does AIOZ Storage understand ML-specific data formats like Parquet or WebDataset?
No. It stores objects as bytes, the same as any S3-compatible store, with no built-in awareness of ML packaging formats.
Is AIOZ Storage a replacement for a dedicated ML dataset-versioning platform?
Not on its own. It handles the storage layer reliably, but versioning, lineage, and metadata search that a dedicated dataset-registry tool provides natively would need to be built on top, not assumed to come with the endpoint.

Create a bucket and upload a file on AIOZ Storage in five steps: sign up, set a passphrase, add credits, and upload. Plus what the passphrase cannot recover.

The AIOZ Storage rate limit is 100 requests per second. See what the docs do and don't say, and how to stay under it with boto3 retries and a limiter.

AIOZ Storage erasure coding splits each object into pieces on DePIN nodes, so it survives node loss. See what it covers, what it doesn't, and what to back up.

Rename a file in an S3 bucket on AIOZ Storage from the dashboard, then move, delete and download files, and see which actions the docs say are not supported.

AIOZ Storage publishes llms.txt, a 46-link docs index, and llms-full.txt, all docs in one 164 KB file. See what each file contains and when to use which.

Vector database vs agent memory on AIOZ Storage: use the vector database for control over embeddings and metadata, Memory for simple Record and Recall calls.