及時發現並解決空間問題是資料庫營運的重要任務。通過資料庫自治服務DAS的空間分析功能,您可以直觀地查看資料庫及表的空間使用方式,及時發現空間的異常情況。此外,DAS支援回收空間片段,避免磁碟空間浪費和效能下降。
前提條件
目標資料庫執行個體為:
自建MongoDB
ApsaraDB for MongoDB
MongoDB執行個體複本集或分區叢集執行個體的版本滿足下表:
大版本
小版本號碼
是否支援
MongoDB 4.0
3.0.x
不支援
MongoDB 4.2
4.0.0-4.0.22
不支援
>= 4.0.23
支援
MongoDB 4.4-DBFS版本
所有
不支援
MongoDB 4.4
5.0.0-5.0.6
不支援
>= 5.0.7
支援
MongoDB 5.0
所有
支援
MongoDB 6.0
所有
支援
目標資料庫執行個體已接入DAS,且執行個體接入狀態為接入正常,接入方法具體請參見接入資料庫執行個體。
空間分析
登入DAS控制台。
在左側導覽列中,單擊執行個體監控。
找到目標執行個體,單擊執行個體ID,進入目標執行個體詳情頁。
在左側導覽列,單擊空間分析,您可直觀地查看該執行個體的空間概況、資料空間、異常列表、空間變化趨勢。
頁簽
地區
說明
空間概況
庫資料表空間概況
查看空間異常、近一周日均增長量,空間可用天數和已用空間等資訊。
說明單擊
查看各項統計資訊的詳細說明。異常列表
查看該執行個體表/集合的異常資訊。
空間變化趨勢
查看選定時間範圍內的空間變化趨勢。
說明時間隔間最大不能超過七天。
資料表空間
查看資料庫執行個體中各個表的資訊和空間使用方式,單擊表名可查看對應表的欄位和索引。
資料空間
查看該執行個體每個資料庫的空間使用方式,以及資料庫中資料表空間的使用方式。
單擊表名可查看對應表的欄位和索引。
回收空間片段
此功能僅支援對Hidden節點的空間片段進行回收,如需回收Primary和Secondary節點的片段,請先進行主備切換,將Primary或Secondary節點切換為Hidden節點,再處理新Hidden節點的空間片段;此外,也可以參考回收磁碟片段以提升磁碟利用率直接執行compact,操作時請仔細閱讀參考文檔。
當回收過程中出現cache eviction的報錯資訊時,則表示執行個體在執行compact過程中遇到緩衝壓力而中途退出。您可以選擇在另一個時間重新下發任務。如果任務多次失敗,請提交工單進行處理。
登入DAS控制台。
在左側導覽列中,單擊執行個體監控。
找到目標執行個體,單擊執行個體ID,進入目標執行個體詳情頁。
在左側導覽列,單擊空間分析。
在資料表空間地區,單擊片段率列的回收。
在回收視窗中,回收空間片段。
設定片段回收計劃。
對該執行個體設定回收計劃後,DAS將在每天的可維護時間段自動檢測隱藏節點(Hidden節點)的各個集合,並對滿足索引空間和資料空間佔用量之和大於1 GB且片段率大於20%的集合執行
compact。為避免回收時間過長,片段回收計劃中每個隱藏節點(Hidden節點)每輪迴收的集合可回收空間總和不能超過100 GB。因此,當單表可回收空間大於100 GB時,請使用手動執行回收的方式。手動執行回收。
單擊高片段率集合操作列的執行回收,選擇立即執行或在營運視窗執行,回收目的地組合的空間片段。
說明操作完成之後,不會立即完成空間片段回收,請耐心等待。在實際情況下,
compact命令會在後台運行一段時間,逐漸回收空間片段。具體回收時間與可回收空間大小有關,空間越大,回收時間越長。避免同時回收過多的集合(建議控制在10個以內),完成當前任務後再進行下一輪空間片段回收,否則可能造成回收任務失敗。
如果目的地組合的片段率較小,片段回收的效果可能不明顯。
針對數量較多的可回收空間較小的集合,建議採用片段回收計划進行處理;而對於可回收空間較大的集合,則建議採用手動執行回收的方式。當集合的可回收空間超過100 GB時,回收時間可能超過1個小時,請您合理安排回收時間。
查看空間片段回收結果
回收任務執行完成之後,請單擊重新分析,查看回收後的效果。
相關文檔
空間分析功能當前僅支援4.0及以上版本的複本集或分區叢集MongoDB執行個體,如果您需要回收其他MongoDB執行個體的空間片段,請參見回收磁碟片段以提升磁碟利用率。
相關API
API | 描述 |
建立空間分析任務,擷取資料庫及表的空間使用資料。 | |
查詢空間分析任務狀態和分析結果。 |