Google Cloud Storage Concepts

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

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

https://cloud.google.com/storage/docs/key-terms#buckets

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

https://cloud.google.com/storage/docs/naming-buckets

A bucket name has to be globally unique. Google Cloud Storage has a single namespace, so you are not allowed to create a bucket with a name already in use by another user. The name cannot be changed after bucket creation, to change the name, the bucket has to be deleted and recreated. ⚠️ Do not include sensitive information in the bucket name, since the bucket namespace is global and publicly visible.

Location

https://cloud.google.com/storage/docs/locations

The location of a bucket represents the physical location of the data center(s) where the bytes for the objects in the bucket are stored. For more details about location types, see:

Google Cloud Platform Concepts | Location

The location cannot be changed after bucket creation, to change the location, the bucket has to be deleted and recreated.

Storage Pricing by Location

https://cloud.google.com/storage/pricing#storage-pricing

Storage Class

https://cloud.google.com/storage/docs/storage-classes

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:

GCP Labels and Tags

Uniform Bucket-level Access

https://cloud.google.com/storage/docs/uniform-bucket-level-access

Bucket Operations

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

https://cloud.google.com/storage/docs/metadata

Object metadata is a collection of name/value pairs that describe various object qualities.

Object Name

https://cloud.google.com/storage/docs/naming-objects
https://cloud.google.com/storage/docs/key-terms#object-names

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

https://cloud.google.com/storage/docs/object-versioning

Each object version is uniquely identified by generation number, part of the object metadata.