關閉
極密曝光! GCP架構實戰! - Cloud Storage

在使用Cloud Storage之前,必須要先了解所謂的「物件存儲」與「一般傳統存儲」有什麼樣的差異,請看下圖:
 

極密曝光! GCP架構實戰! - Cloud Storage

圖片來源:https://arthurcheng.gitbooks.io/ceph/content/chapter1/what-is-object.html

Block Storage(塊儲存)

塊儲存就如上圖所示,由多個數據單元(塊)所組成,通常所謂的單一磁碟、磁碟陣列可以視作塊儲存,並且這些裸硬碟空間會直接對應給主機系統來使用;且這些塊各自獨立存在,不連續儲存,在CAP定理(CAP theorem)當中,屬於強一致性的儲存。塊儲存可以視作File Storage、Object Storage的底層基礎。最具代表性的方案為DAS(Direct Attach Storage)、SAN(Storage Area Network),在高效、速率上具備優勢,但在檔案共用的表現較差,且維護成本與技術門檻較高。

舉例:
現在有物理硬碟5顆(12345共五個),各為2GB,所以總共有10GB,而我可以進一步分割成5GB、2GB、3GB的「邏輯塊」(ABC),而在5GB的邏輯塊A當中,有可能2GB來自物理硬碟1、2GB來自物理硬碟2,1GB來自物理硬碟3。

換言之,在儲存資料的時候,以Block Storage進行儲存,會將資料分布儲存在不同的塊中,若需要使用時,則可以從不同的塊中去讀取,並組合成完整數據。
 

File Storage(文件儲存)

參照上圖可以發現,文件儲存是具備文件結構的一種儲存類別,最常見的就是NAS或者是個人電腦中的文件存儲格式。並且,可以利用以檔案為主的傳輸協議,通過TCP/IP,實現以網路為基礎的檔案儲存、存儲的解決方案。文件儲存的好處在於,會有完整的物件存儲路徑,清晰易於管理;但同時在Metadata上所能記載的資料有限。
 

Object Storage(物件儲存)

參照上圖可以知道,物件儲存的存儲單元為「物件」(Object),同時看不到所謂的「塊」與「文件結構」,物件儲存的存儲屬於同一平面上的儲存,並以鍵值的形式 (Key-Value)來進行資料的讀寫。且物件可以不斷擴增,擴充性相當良好。

物件儲存同時將資料與Metadata分別儲存,當讀寫請求發送至伺服器時,會根據Metadata上的資料,反饋實際資料儲存在哪些分散的硬碟中,並讓使用者同時存取多個碟,提升讀寫效率。而在某些檔案系統則是會將所有資料包含Metadata一同存儲,切割成多個小資料塊放至不同硬碟中存儲,而使用者必須先找到第一個資料塊,才能依序往下讀寫,造成效率低落。

物件儲存實際上結合了塊儲存與檔案系統的優點,達成讀寫快、且能夠讓使用者共享檔案的效果。

 
Google Cloud Storage (GCS)

GCP中提供了各種各樣的儲存服務,其中最常用且最常見的服務即為Google Cloud Storage,它是典型的物件存儲服務,同時也具備擴充性以及支援API存取的功能。通常可以用來作為資料備援、映像檔存儲、和結合GCP的資料服務,建構ETL流程。其存儲單元稱作「值區」(Bucket),並且區分為三種區域類別、四種存儲空間級別如下表。

三種區域類別

應用場景可用性與延遲               
Multi-Region具備Geo-Redundency,也具備最高的可用性,同時若需要將內容提供給不同區域者,可選擇此項。可用性最高
Dual-Region具備Geo-Redundency,需求低延遲與可用性可選擇此項。提供高可用性與低延遲
Region針對低延遲的資料分析。單一地區最低延遲

表格製作:Ted

四種存儲空間級別

 應用場景每萬次操作價格最短儲存時間
Standard Hot Data,應用於熱儲存資料,存取頻率高。最低無限制
NearlineCold Data,應用於冷儲存資料,存取頻率稍低。30天
ColdlineCold Data,應用於冷儲存資料,存取頻率低。90天
ArchiveCold Data,應用於冷儲存資料,存取頻率最低。最高365天
表格製作:Ted
 

要注意的是,在選擇儲存級別的時候,應根據業務的資料屬性與特徵來選擇適當的儲存方案。假設選擇Nearline的儲存方案,但30天內存取了兩次,GCP會以最短儲存時間為準,向您收取額外次數的費用。此外,因為Standard標準級別讓您無限次存取,所以雖然其每次存取費用最低,可若頻率很高,累計起來仍舊可觀,反之其餘類別雖然每次存儲價格較高,但考量到其存取頻率較低,費用可能也會比Standard來的低廉。

上述儲存的類別選擇完成後,在存取機制上亦分為兩種類別,可參照下表:

存取權控管機制

 應用場景
統一   屬於Bucket的層級權限,整個Bucket的存取機制會一致。
精細屬於單一Object的權限設置,可以使用Bucket的存取以及物件層級層級權限(ACL)
表格製作:Ted


在安全機制上,使用者可以選擇:

  1. Google 代管的加密金鑰
  2. 使用者自行管理的加密金鑰 (CMEK)

並且可以根據自己的使用情況來設定資料保留策略。另外,Google Cloud Storage也提供使用者一個相當方便的功能 - 生命週期管理。生命週期管理的功能讓使用者可以自行設定條件,當條件符合時,可以自行刪除資料、轉移級別例如(Standard -> Coldline)等等。Google Cloud Storage的服務可以說是相當實用,除了可以作為資料儲存外,也能放置靜態網站。
 



撰寫人
極密曝光! GCP架構實戰! - Cloud Storage

解決方案架構師
吳祐德 Ted Wu