開發者學堂課程【資料湖 JindoFS + OSS 實操幹貨36講:打開 OSS 多版本:合規和分析兩不誤 】學習筆記,與課程緊密聯系,讓使用者快速學習知識。
課程位址:
https://developer.aliyun.com/learning/course/833/detail/13971打開 OSS 多版本:合規和分析兩不誤
内容介紹
一、 背景介紹
二、 功能
1. OSS支援功能
2. OSS對象資料多版本管理
3. OSS對象資料多版本狀态
4. 開啟/暫停OSS多版本
5. 使用注意事項
6. 檢視對象的多版本
7. JindoFS OSS SDK的優化
一、 背景介紹:阿裡雲對象存儲 OSS
1. 一種海量、安全、低成本、高可靠的雲存儲服務;
2. 适合存放任意類型的檔案;
3. 提供容量和處理能力彈性擴充;
4. 提供多種存儲類型供選擇;
5. 資料設計持久性不低于99.9999999999%(12個9),服務可用性(或業務連續性)不低于99.995%。
二、 功能
1. OSS 支援功能
1) 資料的上傳以及下載下傳;
2) OSS 對象生命周期的管理;
3) 同城/異地的資料容災;
4) OSS 對象資料保留合規;
5) 資料的加密解密;
6) 資料的多版本管理
https://help.aliyun.com/?spm=a2c4g.11174283.6.538.70a37da2T4gFyT2. OSS 對象資料多版本管理
1) 功能介紹
單份資料在OSS上存在多個版本。
2) 使用場景
資料誤删除:目前OSS不提供資源回收筒,如果要恢複已删除的資料可以使用OSS多版本;
檔案被覆寫:對于網盤、線上協作類産品,檔案會被頻繁修改,針對檔案的編輯會産生大量的臨
時版本。可以使用版本控制功能找回某個時間點的版本。
1) 未開啟狀态
預設情況下 OSS 版本狀态為未開啟的狀态,一旦開啟,無法退回到未開啟狀态。
2) 開啟狀态
當 OSS 版本控制處于開啟狀态,OSS 将為新上傳的對象生成全局唯一的版本ID。
3) 暫停狀态
OSS 将為新上傳的 Object 生成特殊字元串為“null”的版本ID。
1) 跨區域複制
利用跨區域複制,可以快速建構跨越數百公裡的資料異地備份的方案,更好地滿足資料異地備份保護或行業合規要求,提升業務持續能力。跨區城複制功能,可降低自建異地資料備份中心的投入。跨區域複制功能支援将本 Bucket 的所有資料但括新增更新、删除操作同步到日标 Bucket 中。
2) 同城備援存儲
同城備援存儲(ZRS)是 OSS 推出的多可用區A将資料以備援方式,存儲在同一個區域(Region)的3 個可用區(AZ)中,避免單機房整體故障造成的資料無法通路或丢失,RPO/RTO=0,確定企業業務連續運作。
3) 版本控制
開啟版本控制特性後,針對資料的覆寫性和删除操作将會以曆史版本的形式儲存下來。通過檔案(Object)的版本管理,能夠将 Bucke t中存儲的 Object 恢複至任意時刻的曆史版本。開啟版本控制特性後,删除标記過多易導緻list慢等問題,建議配置生命周期定期清理删除标記。
1) 功能互斥
同一 Bucket 中,版本控制與合規保留政策或鏡像回源無法同時配置。如果 Bucket 已開啟版本控制,上傳檔案時附加的覆寫同名檔案請求頭 x-oss-forbid-overwrite 将不生效。
2) 使用注意事項
開啟多版本本身不會産生任何費用,但是由于開啟多版本,同一 已過對象會存在多個版本的曆史資料,會增加資料的存儲成本。OSS 多版本曆史版本過多可能導緻List 過慢的問題,建議配置生命周期定期清理。
1) 控制台檢視;
2) Ossutil64 指令行檢視。
1) 存在問題
由于 Hive/Spark 任務在任務執行過程中會産生臨時資料,在任務執行成功後這些臨時資料會被删除,是以會産生很多曆史版本資料,導緻後續任務 List 過慢,後續任務性能會受到影響。
2) JindoFS OSS SDK 優化
JindoFS 對于這種情況存在優化,對于 committer 産生的臨時資料的曆史版本資訊可以通過設定 fs.oss.committer.magic.clean.versions.enabled。