[Day8] Storage

介绍完了虚拟机器与网路後,接下来要跟各位介绍的是关於云端的储存方案。Google Cloud 有许多云端储存的服务可以供大家选择,例如 Cloud Storage 、 Cloud SQL 、 Cloud Spanner 、 Cloud Datastore 与 Cloud Bigtable。今天会与各位介绍最直观,最直觉的 Cloud Storage。

简介

Cloud Storage 主要可以用来储存各种 Binary 的档案,例如图片档、压缩档等。根据新闻报导,包含了苹果、抖音等各大公司,背後都有使用到 Google Cloud 的 Storage 服务,苹果更是使用到了 8 Exabytes 之多。如果没有意外的话,Google Drive 背後就是运行 Cloud Storage 的服务。

Cloud Storage 预设会将所有资料进行加密,并使用 HTTPS / TLS 进行传输。可以取得 HTTPS 的直接连结,作为图床使用。

Cloud Storage 不能算是一种档案系统,它是透过 Bucket 的方式储存不可变(immutable) 的档案;不过也有第三方的工具 Cloud Storage FUSE 可以将 Cloud Storage 挂载成虚拟的网路硬碟。

Class

Cloud Storage 分成了 4 种不同的 Class , 分别是 Multi-regional 、 Regional 、 Nearline 与 Coldline,他们的价格与使用情境有许多的不同。

Multi-regional / Regional

Multi-regional 与 Regional 属於高性能的储存方案,适合储存马上就须要使用的资料,它的存取费用低,而储存费用高。

Regional 的 Class 会把资料储存在指定的 Region 中 , 如 asia-east1 等,他比起 Multi-regional 会相对比较便宜,但缺少冗余。

Multi-regional 会透过地理冗余,我们可以选择一个地理位置,例如美国、欧洲、亚洲等。而资料会存在至少两个地方,他们的地理位置距离至少差距 160 公里。假设其中一个地方发生大爆炸或战争(? ,其他地方还是可以存取到资料。

Nearline / Coldline

Nearline 与 Coldline 被称为备份、归档用存储,它的存取费用高,而储存费用低。适合存放数个月才会存取一次的档案。

Nearline 适合储存平均每个月存取一次,或更低频率的使用情境。例如,不断地将文件存到 Cloud Storage ,并每个月才须要将资料拿出来分析一次。

Coldline 则是比 Nearline 储存价格更低的方案,它的适用情境下,资料的取用频率也更低,每年最多只存取一次的情境。它有最短的存取期限为 90 天 ,适用於灾害恢复等状况使用。

资料传输方式

把资料送上 Cloud Storage,有三种方法,Online transfer、Storage Transfer Service 与 Transfer Appliance,来因应不同的使用需求。

  • Online transfer
    • 透过自己的电脑,在 Cloud Console 上进行拖拉
    • 或是使用 Cloud SDK 中的gsutil 等工具进行存取
    • 透过 RESTful API 进行存取
  • Storage Transfer Service
    • 可以自行排程 Batch 的资料传输,从其他的云端服务商传输资料,例如 AWS 的 S3。
  • Transfer Appliance
    • 透过实体的运送机架式的服务器来传输资料,并透过货运公司进行实体的运送。

这边让我想到一个酷东西,是 AWS 的服务 Snowmobile。根据 AWS 官网所述, Snowmobile 是一个长达 45 英尺的货柜,透过联结车来载运,每一个货柜可以载运 100 PB 的资料,也是超级超级大资料传输的解决方案,真的......超ㄎㄧㄤㄉ!

图片来源: AWS re:Invent 2016: Move Exabyte-Scale Data Sets with AWS Snowmobile

其他功能

安全性

Cloud Storage 也可以透过 Cloud IAM 来建立 ACL (Access Control List),并且透过 Signed URL 来保障资料的安全性。

除此之外,使用者也可以透过 Customer-supplied encryption key (CSEK),透过自己的加密金钥对资料进行加密,让 Google 端完全没有解密资料的可能性。

生命周期

Cloud Storage 可以自行设定自动删除、自动备份的日期与规则,避免浪费与保障安全。

档案版本

可以设定当同名称的档案存取进来後,保留旧版的档案。避免各种手残与意外的发生,可以快速地还原先前的版本。不过如同生命周期一样,档案版本也需要设定自动保留与删除的规则,不然档案可能会越来越多,越来越大,浪费越来越多的钱QQ。


<<:  [Day8] THM Bolt

>>:  day8 kotlin coroutine的 runBlocking, withContext

Day8 - 2D渲染环境基础篇 IV[像素操作概论] - 成为Canvas Ninja ~ 理解2D渲染的精髓

『像素操作(Pixel Manipulation)』 顾名思义就是要去以单一像素为最小单位来进行操作...

Day09 - dat GUI

dat-gui cdn dat-gui github // dat gui var controls...

爬虫怎麽爬 从零开始的爬虫自学 DAY23 python网路爬虫开爬-5程序优化

前言 各位早安,书接上回我们学会换页爬取文章标题了,今天我们要对程序码进行一些改良,使其更符合我们的...

Youtube Data API 教学 - 有字幕好安心 Captions.list

「鲑鱼均,因为一场鲑鱼之乱被主管称为鲑鱼世代,广义来说以年龄和脸蛋分类的话这应该算是一种 KNN 的...

Using Lombok in IDEA

USing Lombok in IDEA ...