Google Cloud Storage Concepts
External
Internal
Overview
Google Cloud Storage is a global, scalable and secure object (blob) store. Data at rest is encrypted and there is an option to encrypt it with a custom encryption key. Permissions can be granted to members, team, or the objects can be made fully public. The objects are automatically versioned.
Bucket
A bucket is a basic container that holds data, in form of objects. Buckets are associated with a project. A bucket is defined by its globally unique name, its geographic location and its storage class. Buckets cannot be nested. Bucket creation is a relatively heavy operation, so storage applications should be designed to favor intensive object creation and relatively few bucket operations.
Name
A bucket name has to be globally unique. The name cannot be changed after bucket creation, to change the name, the bucket has to be deleted and recreated.
Location
The location cannot be changed after bucket creation, to change the location, the bucket has to be deleted and recreated.
Storage Class
The storage class can be changed after bucket creation.
Standard
Regional or multi-regional. Used for frequent access and the highest availability.
Nearline
Coldline
Archive
Default Storage Class
The default storage class of the bucket applies to objects that do not have a storage class specified explicitly.
Labels
Bucket labels are not associated with individual objects or object metadata. Also see:
Cloud Storage Namespace
Object
Objects are the individual pieces of data. Objects are immutable, which means that an object cannot change throughout its storage lifetime. Does this apply to data or metdata? Objects are stored in a flat namespace.
Object Data
Object data is opaque to Google Cloud Storage.
Object Metadata
Object metadata is a collection of name/value pairs that describe various object qualities.
Object Name
The object name is a piece of metadata. Object names can contain any combination of Unicode characters (UTF-8 encoded), must be less than 1024 bytes in length, and must be unique within a bucket.
Generation Number
Also see Object Versioning.
Object Versioning
Each object version is uniquely identified by generation number, part of the object metadata.