Google Cloud Storage Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(49 intermediate revisions by the same user not shown)
Line 1: Line 1:
=External=
* https://cloud.google.com/storage/docs/key-terms
=Internal=
=Internal=
* [[Google_Cloud_Storage#Subjects|Google Cloud Storage]]
* [[Google_Cloud_Storage#Subjects|Google Cloud Storage]]
=Overview=
=Overview=
Google Cloud Storage is a global, scalable and secure [[Storage_Concepts#Object_Storage|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.
Google Cloud Storage is a global, scalable and secure [[Storage_Concepts#Object_Storage|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=
=Bucket=
{{External|https://cloud.google.com/storage/docs/key-terms#buckets}}
A bucket is a basic container that holds data, in form of [[#Object|objects]]. Buckets are associated with a [[Google_Cloud_Platform_Concepts#Project|project]]. A bucket is defined by its globally unique [[#Name|name]], its [[#Location|geographic location]] and its [[#Storage_Class|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==
{{External|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==
{{External|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: {{Internal|Google_Cloud_Platform_Concepts#Location|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===
{{External|https://cloud.google.com/storage/pricing#storage-pricing}}
==Storage Class==
{{External|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 [[#Object|objects]] that do not have a storage class specified explicitly.
==Labels==
Bucket labels are not associated with individual [[#Object|objects]] or object metadata. Also see: {{Internal|GCP Labels and Tags#Labels|GCP Labels and Tags}}
==Uniform Bucket-level Access==
{{External|https://cloud.google.com/storage/docs/uniform-bucket-level-access}}
==Bucket Operations==
* [[Google_Cloud_Storage_Operations#Create_a_Bucket|Create a bucket]]
* [[Google_Cloud_Storage_Operations#Listing_Buckets|Listing buckets]]
=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. <font color=darkgray>Does this apply to data or metdata?</font> Objects are stored in a flat namespace.
==Object Data==
Object data is opaque to Google Cloud Storage.
==Object Metadata==
{{External|https://cloud.google.com/storage/docs/metadata}}
Object metadata is a collection of name/value pairs that describe various object qualities.
===Object Name===
{{External|https://cloud.google.com/storage/docs/naming-objects}}
{{External|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]].


Buckets are associated with a [[#Project|project]].
==Object Versioning==
{{External|https://cloud.google.com/storage/docs/object-versioning}}
Each object version is uniquely identified by [[#Generation_Number|generation number]], part of the [[#Object_Metadata|object metadata]].

Latest revision as of 18:36, 6 September 2021

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.