天天看點

打開 OSS 多版本:合規和分析兩不誤 | 學習筆記

開發者學堂課程【資料湖 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.70a37da2T4gFyT

2.    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。