空間分析
CloudDBA空間分析提供了查詢空間概況、空間變化趨勢、異常列表、數(shù)據(jù)空間和空間碎片回收功能,您可以通過這些信息及時(shí)發(fā)現(xiàn)數(shù)據(jù)庫中空間的異常情況,避免影響數(shù)據(jù)庫穩(wěn)定性。
前提條件
MongoDB實(shí)例副本集或分片集群實(shí)例的版本滿足下表:
大版本 | 小版本號 | 是否支持 |
MongoDB 4.0 | 3.0.x | 不支持 |
MongoDB 4.2 | 4.0.0-4.0.22 | 不支持 |
>= 4.0.23 | 支持 | |
MongoDB 4.4 | 5.0.0-5.0.6 | 不支持 |
>= 5.0.7 | 支持 | |
MongoDB 5.0 | 所有 | 支持 |
MongoDB 6.0 | 所有 | 支持 |
MongoDB 7.0 | 所有 | 支持 |
注意事項(xiàng)
如果使用RAM用戶(子賬號)訪問CloudDBA空間分析,請確保RAM用戶擁有DAS的完全管理權(quán)限(AliyunHDMFullAccess)或DAS的只讀訪問權(quán)限(AliyunHDMReadOnlyAccess),具體信息,請參見RAM用戶如何使用DAS?。
空間分析
根據(jù)實(shí)例類型,在左側(cè)導(dǎo)航欄單擊副本集實(shí)例列表或分片集群實(shí)例列表。
在頁面左上角,選擇實(shí)例所在的資源組和地域。
單擊目標(biāo)實(shí)例ID或目標(biāo)實(shí)例所在行操作列的管理。
在目標(biāo)實(shí)例頁面的左側(cè)導(dǎo)航欄,單擊 。
您可以查看數(shù)據(jù)庫空間的概況。
查看庫表空間概況
單擊空間概況頁簽,您可以查看以下信息:
在庫表空間概況區(qū)域查看庫表空間概況。
項(xiàng)目
說明
異常
統(tǒng)計(jì)實(shí)例的空間異常數(shù)量。異常種類如下:
實(shí)例的空間使用率大于90%。
實(shí)例的庫表總空間(物理)剩余可用天數(shù)估計(jì)不足7天。
單個(gè)集合索引數(shù)超過10個(gè)。
近一周日均增長量
統(tǒng)計(jì)最近7天的空間日均增長量。
算法:(采集時(shí)刻的空間大小 - 7天前的空間大小)/7。
說明增長速度為采集時(shí)刻七天均值。
該參數(shù)適用于平穩(wěn)業(yè)務(wù),空間突變(如批量導(dǎo)入,歷史數(shù)據(jù)刪除,實(shí)例遷移重建等)會(huì)影響數(shù)據(jù)準(zhǔn)確性。
空間可用天數(shù)
估算剩余空間可用的天數(shù),展示剩余空間大小。
算法:可用空間/近一周日均增長量。
說明90+代表預(yù)測長時(shí)間內(nèi)磁盤空間足夠使用。
該參數(shù)適用于平穩(wěn)業(yè)務(wù),空間突變(例如批量導(dǎo)入、歷史數(shù)據(jù)刪除、實(shí)例遷移重建等)會(huì)影響數(shù)據(jù)準(zhǔn)確性。
已用空間
展示已用空間大小和總空間大小。
在異常列表查看異常信息,排查實(shí)例的空間異常問題。
在空間變化趨勢區(qū)域查看庫表近一周的數(shù)據(jù)變化趨勢。
在表空間區(qū)域查看集合的數(shù)據(jù)信息。
說明您可以單擊集合名,查看索引相關(guān)信息。
查看數(shù)據(jù)和表空間概況
單擊數(shù)據(jù)空間頁簽,您可以查看以下信息:
單擊數(shù)據(jù)空間名查看對應(yīng)的表空間信息。
單擊集合名,查看索引相關(guān)信息。
回收空間碎片
僅支持Hidden節(jié)點(diǎn)回收空間碎片,如果需要回收Primary和Secondary節(jié)點(diǎn)的碎片,可以先進(jìn)行主備切換,將Primary或Secondary節(jié)點(diǎn)切換到Hidden節(jié)點(diǎn),再處理新Hidden節(jié)點(diǎn)的空間碎片;也可以參考回收磁盤碎片以提升磁盤利用率直接執(zhí)行compact
,操作時(shí)請仔細(xì)閱讀參考文檔。
根據(jù)實(shí)例類型,在左側(cè)導(dǎo)航欄單擊副本集實(shí)例列表或分片集群實(shí)例列表。
在頁面左上角,選擇實(shí)例所在的資源組和地域。
單擊目標(biāo)實(shí)例ID或目標(biāo)實(shí)例所在行操作列的管理。
在目標(biāo)實(shí)例頁面的左側(cè)導(dǎo)航欄,單擊 。
在表空間區(qū)域,單擊碎片率列的回收。
在回收窗口中,回收空間碎片。
設(shè)置碎片回收計(jì)劃。
對該實(shí)例設(shè)置回收計(jì)劃后,DAS將在每天的可維護(hù)時(shí)間段自動(dòng)檢測隱藏節(jié)點(diǎn)(Hidden節(jié)點(diǎn))的各個(gè)集合,并對滿足索引空間和數(shù)據(jù)空間占用量之和大于1 GB且碎片率大于20%的集合執(zhí)行
compact
。為避免回收時(shí)間過長,碎片回收計(jì)劃中每個(gè)隱藏節(jié)點(diǎn)(Hidden節(jié)點(diǎn))每輪回收的集合可回收空間總和不能超過100 GB。因此,當(dāng)單表可回收空間大于100 GB時(shí),請使用手動(dòng)執(zhí)行回收的方式。手動(dòng)執(zhí)行回收。
單擊高碎片率集合操作列的執(zhí)行回收,選擇立即執(zhí)行或在運(yùn)維窗口執(zhí)行,回收目標(biāo)集合的空間碎片。
說明操作完成之后,不會(huì)立即完成空間碎片回收,請耐心等待。在實(shí)際情況下,
compact
命令會(huì)在后臺(tái)運(yùn)行一段時(shí)間,逐漸回收空間碎片。具體回收時(shí)間與可回收空間大小有關(guān),空間越大,回收時(shí)間越長。避免同時(shí)回收過多的集合(建議控制在10個(gè)以內(nèi)),完成當(dāng)前任務(wù)后再進(jìn)行下一輪空間碎片回收,否則可能造成回收任務(wù)失敗。
如果目標(biāo)集合的碎片率較小,碎片回收的效果可能不明顯。
針對數(shù)量較多的可回收空間較小的集合,建議采用碎片回收計(jì)劃進(jìn)行處理;而對于可回收空間較大的集合,則建議采用手動(dòng)執(zhí)行回收的方式。當(dāng)集合的可回收空間超過100 GB時(shí),回收時(shí)間可能超過1個(gè)小時(shí),請您合理安排回收時(shí)間
查看空間碎片回收結(jié)果
回收任務(wù)執(zhí)行完成之后,請單擊重新分析,查看回收后的效果。
常見問題
Q:如何處理報(bào)錯(cuò)(Interrupted) Compaction interrupted on table:*** due to cache eviction pressure
?
A:該報(bào)錯(cuò)表示低版本的小規(guī)格實(shí)例在執(zhí)行compact
的過程中遇到緩存壓力而中途退出。當(dāng)空間碎片回收任務(wù)執(zhí)行失敗時(shí),您可以選擇在另一個(gè)時(shí)間重新下發(fā)任務(wù)。如果任務(wù)多次失敗,請?zhí)峤还芜M(jìn)行處理。
相關(guān)文檔
空間分析功能當(dāng)前僅支持4.0及以上版本的副本集或分片集群MongoDB實(shí)例,如果您需要回收其他MongoDB實(shí)例的空間碎片,請參見回收磁盤碎片以提升磁盤利用率。
相關(guān)任務(wù)
CloudDBA空間分析最多分析20000張表,如果缺少空間數(shù)據(jù),可能是因?yàn)橘~號缺少對應(yīng)的庫表權(quán)限或表個(gè)數(shù)太多,您可以重新授權(quán)。請選擇以下任意一種方法進(jìn)行重新授權(quán):
已有賬號和密碼
單擊頁面上方的重新授權(quán)。
填寫數(shù)據(jù)庫賬號和密碼。
單擊確認(rèn)。
生成授權(quán)命令
單擊頁面上方的重新授權(quán)。
填寫數(shù)據(jù)庫賬號和密碼。
單擊生成授權(quán)命令。
單擊確認(rèn)。
相關(guān)API
API | 說明 |
調(diào)用CreateStorageAnalysisTask接口,創(chuàng)建空間分析任務(wù),獲取數(shù)據(jù)庫及表的空間使用數(shù)據(jù)。 | |
調(diào)用GetStorageAnalysisResult接口,查詢空間分析任務(wù)狀態(tài)和分析結(jié)果。 |