What is Object Storage?

DreamObjects is an object storage system with infinite capacity. Think of it as a bottomless pit where you can continue to add files without having to worry about filling it up. Files are stored as objects into buckets. From Wikipedia Object Storage page:

"Object storage (also known as object-based storage) is a storage architecture that manages data as objects, as opposed to other storage architectures like file systems which manage data as a file hierarchy and block storage which manages data as blocks within sectors and tracks. Each object typically includes the data itself, a variable amount of metadata, and a globally unique identifier. [...] Object storage systems allow relatively inexpensive, scalable and self-healing retention of massive amounts of unstructured data."

DreamObjects can be used for diverse purposes such as storing photos, songs, documents, backups and more without worrying about filling up disk space.

Differences between DreamObjects and FTP

While DreamObjects may resemble an FTP system, some details are very different:

  • files (objects) stored in DreamObjects have a unique identifier in the form of a URI.
  • objects have metadata attached to describe what the object is, who created it, who has access to it, for how long and more. These look like the permissions in the FTP directories, but they’re more powerful and extensible.
  • there are no real directories in DreamObjects: the buckets are names assigned to a common space and are part of the object’s URI.
  • access key and user key are used instead of usernames and passwords. Each user can generate multiple access keys. A secret key is automatically generated for each access key and cannot be changed. Together access and user keys are called key pair.

Why the bucket names have to be unique

Objects stored DreamObjects are identified by a URL that looks like this:

https://$BUCKET_NAME.objects-us-west-1.dream.io/$OBJECT_NAME

Since the bucket name is part of the hostname (in the URL), and host names must be unique, the bucket name also must be unique. For example, a bucket named “my-bucket” would have the URL:

https://my-bucket.objects-us-west-1.dream.io

This means that there can only be one bucket called “my-bucket” on DreamObjects. Therefore, the easiest way to create a new bucket is to assign a random name and create a domain alias for it using DreamHost Control Panel.