CloudDBA空間分析提供了查詢空間概況、空間變化趨勢、異常列表、資料空間和空間片段回收功能,您可以通過這些資訊及時探索資料庫中空間的異常情況,避免影響資料庫穩定性。
前提條件
MongoDB執行個體複本集或分區叢集執行個體的版本滿足下表:
大版本 | 小版本號碼 | 是否支援 |
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 | 所有 | 支援 |
注意事項
如果使用RAM使用者(子帳號)訪問CloudDBA空間分析,請確保RAM使用者擁有DAS的完全系統管理權限(AliyunHDMFullAccess)或DAS的唯讀存取權限(AliyunHDMReadOnlyAccess),具體資訊,請參見RAM使用者如何使用DAS?。
空間分析
登入MongoDB管理主控台。
根據執行個體類型,在左側導覽列單擊副本集实例列表或分片集群实例列表。
在頁面左上方,選擇執行個體所在的資源群組和地區。
單擊目標執行個體ID或目標執行個體所在行操作列的管理。
在目標執行個體頁面的左側導覽列,單擊 。
您可以查看資料庫空間的概況。
查看庫資料表空間概況
單擊空間概況頁簽,您可以查看以下資訊:
在庫資料表空間概況地區查看庫資料表空間概況。
專案
說明
異常
統計執行個體的空間異常數量。異常種類如下:
執行個體的空間使用率大於90%。
執行個體的庫表總空間(物理)剩餘可用天數估計不足7天。
單個集合索引數超過10個。
近一周日均增長量
統計最近7天的空間日均增長量。
演算法:(採集時刻的空間大小 - 7天前的空間大小)/7。
說明增長速度為採集時刻七天均值。
該參數適用於平穩業務,空間突變(如大量匯入,歷史資料刪除,執行個體遷移重建等)會影響資料準確性。
空間可用天數
估算剩餘空間可用的天數,展示剩餘空間大小。
演算法:可用空間/近一周日均增長量。
說明90+代表預測長時間內磁碟空間足夠使用。
該參數適用於平穩業務,空間突變(例如大量匯入、歷史資料刪除、執行個體遷移重建等)會影響資料準確性。
已用空間
展示已用空間大小和總空間大小。
在異常列表查看異常資訊,排查執行個體的空間異常問題。
在空間變化趨勢地區查看庫表近一周的資料變化趨勢。
在資料表空間地區查看集合的資料資訊。
說明您可以單擊集合名,查看索引相關資訊。
查看資料和資料表空間概況
單擊資料空間頁簽,您可以查看以下資訊:
單擊資料空間名查看對應的資料表空間資訊。
單擊集合名,查看索引相關資訊。
回收空間片段
僅支援Hidden節點回收空間片段,如果需要回收Primary和Secondary節點的片段,可以先進行主備切換,將Primary或Secondary節點切換到Hidden節點,再處理新Hidden節點的空間片段;也可以參考回收磁碟片段以提升磁碟利用率直接執行compact
,操作時請仔細閱讀參考文檔。
登入MongoDB管理主控台。
根據執行個體類型,在左側導覽列單擊副本集实例列表或分片集群实例列表。
在頁面左上方,選擇執行個體所在的資源群組和地區。
單擊目標執行個體ID或目標執行個體所在行操作列的管理。
在目標執行個體頁面的左側導覽列,單擊 。
在資料表空間地區,單擊片段率列的回收。
在回收視窗中,回收空間片段。
設定片段回收計劃。
對該執行個體設定回收計劃後,DAS將在每天的可維護時間段自動檢測隱藏節點(Hidden節點)的各個集合,並對滿足索引空間和資料空間佔用量之和大於1 GB且片段率大於20%的集合執行
compact
。為避免回收時間過長,片段回收計劃中每個隱藏節點(Hidden節點)每輪迴收的集合可回收空間總和不能超過100 GB。因此,當單表可回收空間大於100 GB時,請使用手動執行回收的方式。手動執行回收。
單擊高片段率集合操作列的執行回收,選擇立即執行或在營運視窗執行,回收目的地組合的空間片段。
說明操作完成之後,不會立即完成空間片段回收,請耐心等待。在實際情況下,
compact
命令會在後台運行一段時間,逐漸回收空間片段。具體回收時間與可回收空間大小有關,空間越大,回收時間越長。避免同時回收過多的集合(建議控制在10個以內),完成當前任務後再進行下一輪空間片段回收,否則可能造成回收任務失敗。
如果目的地組合的片段率較小,片段回收的效果可能不明顯。
針對數量較多的可回收空間較小的集合,建議採用片段回收計划進行處理;而對於可回收空間較大的集合,則建議採用手動執行回收的方式。當集合的可回收空間超過100 GB時,回收時間可能超過1個小時,請您合理安排回收時間
查看空間片段回收結果
回收任務執行完成之後,請單擊重新分析,查看回收後的效果。
常見問題
Q:如何處理報錯(Interrupted) Compaction interrupted on table:*** due to cache eviction pressure
?
A:該報錯表示低版本的小規格執行個體在執行compact
的過程中遇到緩衝壓力而中途退出。當空間片段回收任務執行失敗時,您可以選擇在另一個時間重新下發任務。如果任務多次失敗,請提交工單進行處理。
相關文檔
空間分析功能當前僅支援4.0及以上版本的複本集或分區叢集MongoDB執行個體,如果您需要回收其他MongoDB執行個體的空間片段,請參見回收磁碟片段以提升磁碟利用率。
相關任務
CloudDBA空間分析最多分析20000張表,如果缺少空間資料,可能是因為帳號缺少對應的庫表許可權或表個數太多,您可以重新授權。請選擇以下任意一種方法進行重新授權:
已有帳號和密碼
單擊頁面上方的重新授權。
填寫資料庫帳號和密碼。
單擊確認。
產生授權命令
單擊頁面上方的重新授權。
填寫資料庫帳號和密碼。
單擊產生授權命令。
單擊確認。
相關API
API | 說明 |
調用CreateStorageAnalysisTask介面,建立空間分析任務,擷取資料庫及表的空間使用資料。 | |
調用GetStorageAnalysisResult介面,查詢空間分析任務狀態和分析結果。 |