現今的組織會產生及處理大量的非結構化資料。這類資料涵蓋各種內容,包括圖片、影片、備份、記錄檔,以及用於分析的大型資料集等。如要有效儲存、管理及存取這些種類繁多且通常非常龐大的檔案,需要專門的儲存空間解決方案。二進位大型物件 (BLOB) 儲存空間便是因應這類難題的關鍵技術,提供可擴充且符合成本效益的非結構化資料處理方式。
二進位大型物件儲存系統經過特別設計,具備極佳的擴充性和耐用性,且符合成本效益,非常適合用來儲存大量的非結構化資料。
如要充分瞭解二進位大型物件儲存空間,應先定義其核心元件:物件儲存空間和二進位大型物件 (BLOB) 本身。
物件儲存空間是一種資料儲存架構,會將資料視為獨立單元 (稱為物件) 來管理。有別於以階層式目錄結構 (資料夾和檔案) 整理資料的檔案系統,或以固定大小區塊管理資料的區塊儲存空間,物件儲存系統會將每份資料視為獨立的物件。
每個物件通常包含以下內容:
BLOB 是「二位位大型物件」的簡稱,指的是以單一實體形式儲存的一組二進位資料。「二進位」一詞表示資料可以是任何內容,不限於文字或特定格式,例如可執行的檔案、圖片、音訊或影片內容、壓縮封存檔、資料庫備份,或是任何其他類型的數位資訊。名稱中的「大型」則表示 BLOB 通常用於儲存以下這類檔案:因過大而不方便或無法有效地直接放在傳統資料庫欄位中,與結構化資料一起儲存。
因此,二進位大型物件儲存空間基本上就是將這類 BLOB 以個別物件的形式存放在物件儲存系統中。舉例來說,您不會將大型影片檔案直接嵌入資料庫記錄,而是將影片檔案儲存在物件儲存系統,然後在資料庫中儲存該 BLOB 的參照 (物件的專屬 ID 或網址)。
使用二進位大型物件儲存空間的程序通常包含幾個關鍵步驟,並由物件儲存系統協助完成:
當使用者或應用程式需要儲存大型二進位檔案時,會透過 API 呼叫 (通常是符合 REST 樣式並使用 HTTP/S 的 API),將資料和所有相關聯的中繼資料傳送至物件儲存系統,然後儲存系統便會接收這些資料。
物件儲存系統會將上傳的二進位資料和中繼資料封裝成「物件」,然後為這個新物件指派專屬 ID。這組 ID 很重要,因為之後要找到及擷取物件都得透過它。
系統會儲存物件,通常會將物件分散並複製到多個實體儲存裝置,有時甚至會跨多個資料中心。這種分散式做法可提高資料的耐用性 (防範硬體故障) 和可用性。具體複製策略會因所選儲存空間級別或供應商政策而異。
系統會為 BLOB 相關聯的中繼資料建立索引。如此一來,即使您有數十億個物件,也能根據中繼資料標記搜尋或分類物件。
當使用者或應用程式需要存取 BLOB 時,會使用物件的專屬 ID 傳送要求給物件儲存系統。系統會找出物件,並將二進位資料串流傳回給要求者。
物件儲存系統提供相關機制,讓您控管哪些人員可以讀取、寫入或刪除 BLOB。這類存取權通常是透過身分與存取權管理 (IAM) 政策、存取控管清單 (ACL) 或授予臨時存取權的簽署網址進行管理。
就管理非結構化資料而言,採用二進位大型物件儲存空間能帶來許多好處:
擴充性
物件儲存系統經過特別設計,可擴充至 EB 以上的規模,能容納大量資料和物件,因此非常適合用於會產生大量資料的應用程式。
符合成本效益
在傳統的高效能檔案系統或資料庫中儲存大量不常存取的資料,成本可能相當高。物件儲存空間通常提供多種分級式方案,費用會因存取頻率和耐用性需求而異,能讓您有效控管成本。
耐用性和可用性
頂尖的物件儲存空間服務通常能以備援形式,將物件儲存在多部裝置或不同地理位置,確保資料高度耐用,並大幅降低硬體故障導致資料遺失的風險,同時提升資料可用性。
豐富的中繼資料
每項 BLOB 都能與大量自訂中繼資料建立關聯,方便您整理資料、輕鬆搜尋,並享有更完善的資料管理和分析功能。
簡化資料存取權
透過標準 HTTP API 存取 BLOB,可簡化與網頁應用程式、行動應用程式和其他雲端服務的整合作業。每個物件都有專屬 ID,可直接存取,不必經過複雜的檔案路徑。
分離
將 BLOB 儲存在資料庫或應用程式伺服器外部,可提升這些主要系統的效能和擴充性。資料庫不必再管理龐大且難以處理的資料類型,應用程式也能卸載靜態內容傳送作業。
託管 BLOB 的物件儲存庫服務,通常會提供不同的儲存空間級別或層級,並根據存取頻率、擷取時間和成本進行分類。機構可根據資料使用方式,選擇最適合的儲存空間層級,進而節省成本。常見的類型包括:
專為需要低延遲和高處理量的常用資料設計。這個層級適合用於主動網站內容、行動應用程式資料,或由分析工作負載主動處理的資料,其儲存空間的成本通常較高,但有助於降低存取成本。
適用於存取頻率較低的資料 (例如:每月一次),但仍須在要求時隨時可用。與 Standard Storage 相比,這類儲存空間的費用較低,但存取成本或每次擷取費用可能會略高。這項服務非常適合長期備份、封存資料 (偶爾需要快速存取),或是災難復原檔案。
專為長期資料封存、法規遵循和保存而打造,適合存放存取頻率極低的資料 (例如:一年一次或更少)。這個層級的儲存空間成本較低,擷取時間可能較長,從幾分鐘到幾小時不等,但存取成本可能較高。這項服務適用於監管法規封存檔案,或需要保留供歷史用途,但日常營運不需要的資料。
有些供應商甚至提供更冷的儲存層級,適合極少存取,且可容忍較長擷取時間 (例如數小時) 的資料。這些層級的儲存空間成本最低。
BLOB 儲存空間用途廣泛且可擴充,因此適用於各行各業的多種應用:
用途 | 功能 |
放送多媒體內容 | 儲存及提供圖片、影片、音訊檔案和其他互動式多媒體,給網站、影視串流服務和行動應用程式。 |
資料湖泊與分析 | 將各種來源的大量原始資料,以原生格式儲存在資料湖倉 (結構化、半結構化和非結構化) 中,可用於大數據處理、機器學習模型訓練和商業智慧。 |
封存記錄檔 | 儲存應用程式伺服器記錄、安全性記錄和稽核追蹤,以利疑難排解、安全性分析和法規遵循。 |
文件管理系統 | 儲存及管理大量文件、PDF、掃描的圖片和其他業務記錄。 |
靜態網站託管 | 直接從物件儲存庫,託管網站的靜態資產 (HTML、CSS、JavaScript、圖片),這項作法具備高擴充性,且符合成本效益。 |
軟體發布 | 儲存及發布大型軟體套件、更新和安裝程式。 |
醫療照護業資料管理 | 以安全且符合法規的方式,儲存醫療影像 (X 光片、MRI)、病患記錄和基因資料。 |
科學研究 | 儲存實驗、模擬和感應器網路產生的大型資料集,方便分析及協作。 |
用途
功能
放送多媒體內容
儲存及提供圖片、影片、音訊檔案和其他互動式多媒體,給網站、影視串流服務和行動應用程式。
資料湖泊與分析
將各種來源的大量原始資料,以原生格式儲存在資料湖倉 (結構化、半結構化和非結構化) 中,可用於大數據處理、機器學習模型訓練和商業智慧。
封存記錄檔
儲存應用程式伺服器記錄、安全性記錄和稽核追蹤,以利疑難排解、安全性分析和法規遵循。
文件管理系統
儲存及管理大量文件、PDF、掃描的圖片和其他業務記錄。
靜態網站託管
直接從物件儲存庫,託管網站的靜態資產 (HTML、CSS、JavaScript、圖片),這項作法具備高擴充性,且符合成本效益。
軟體發布
儲存及發布大型軟體套件、更新和安裝程式。
醫療照護業資料管理
以安全且符合法規的方式,儲存醫療影像 (X 光片、MRI)、病患記錄和基因資料。
科學研究
儲存實驗、模擬和感應器網路產生的大型資料集,方便分析及協作。
保護大型二進位檔物件是關鍵,尤其是在處理機密,或對公司業務十分重要的資料時。有效的安全策略通常包含多層防護機制:
加密
傳輸加密會對所有 API 要求使用 HTTPS (TLS/SSL)。靜態加密可確保 BLOB 在儲存空間中加密,並提供伺服器端加密 (供應商代管金鑰),或客戶代管/提供的金鑰 (CMEK/CSEK) 選項,進一步強化控管能力。
身分與存取權管理 (IAM):
導入詳盡的存取控管政策,定義哪些人 (使用者、群組或服務帳戶),可以對特定 Blob 或 Blob 集合 (通常稱為 bucket 或容器) 執行哪些動作 (讀取、寫入、刪除、列出)。遵循最小權限原則,只授予必要的權限。
存取控制清單 (ACL)
ACL 可提供另一層控管機制,讓您授予個別使用者或群組特定權限,以存取個別物件或 bucket。這類工具較適合精細控管需求,而非大規模管理,能以細緻的方式設定特定詳細權限。
簽署的網址/預先簽署的網址
在需要授予特定 BLOB 臨時且有限存取權的情況下 (例如允許使用者下載購買的檔案),簽署網址是安全的機制。這些網址會授予限時權限,讓使用者在沒有完整憑證的情況下,也能執行特定動作
版本管理
啟用物件版本管理功能,即可保留 BLOB 的多個版本。這項功能可防止意外覆寫或刪除資料,因為您可以在必要時還原至先前的版本。
稽核記錄
啟用稽核記錄功能,追蹤對 Blob 和儲存空間 bucket,提出的存取要求和執行的動作。這有助於進行安全性分析、提供法規遵循報告,以及找出未經授權的存取嘗試。