全部产品
Search
文档中心

数据库自治服务 DAS:空间分析

更新时间:Apr 28, 2024

及时发现并解决空间问题是数据库运维的重要任务。通过数据库自治服务DAS的空间分析功能,您可以直观地查看数据库及表的空间使用情况,及时发现空间的异常情况。此外,DAS支持回收空间碎片,避免磁盘空间浪费和性能下降。

前提条件

  • 目标数据库实例为:

    • 自建MongoDB

    • 云数据库MongoDB版

      说明

      当前仅支持4.0及以上版本的副本集或分片集群实例。

  • 目标数据库实例已接入DAS,且实例接入状态为接入正常,接入方法具体请参见接入数据库实例

空间分析

  1. 登录DAS控制台

  2. 在左侧导航栏中,单击实例监控

  3. 找到目标实例,单击实例ID,进入目标实例详情页。

  4. 在左侧导航栏,单击空间分析,您可直观地查看该实例的空间概况数据空间异常列表空间变化趋势

    页签

    区域

    说明

    空间概况

    库表空间概况

    查看空间异常近一周日均增长量空间可用天数已用空间等信息。

    说明

    单击image.png查看各项统计信息的详细说明。

    异常列表

    查看该实例表/集合的异常信息。

    空间变化趋势

    查看选定时间范围内的空间变化趋势。

    说明

    时间隔间最大不能超过七天。

    表空间

    查看数据库实例中各个表的信息和空间使用情况,单击表名可查看对应表的字段索引

    数据空间

    查看该实例每个数据库的空间使用情况,以及数据库中表空间的使用情况。

    单击表名可查看对应表的字段索引

回收空间碎片

重要

仅支持Hidden节点回收空间碎片,如果需要回收Primary和Secondary节点的碎片,可以先进行主备切换,将Primary或Secondary节点切换到Hidden节点,再处理新Hidden节点的空间碎片;也可以参考回收磁盘碎片以提升磁盘利用率直接执行compact,操作时请仔细阅读参考文档。

  1. 登录DAS控制台

  2. 在左侧导航栏中,单击实例监控

  3. 找到目标实例,单击实例ID,进入目标实例详情页。

  4. 在左侧导航栏,单击空间分析

  5. 表空间区域,单击碎片率列的回收。

  6. 回收窗口中,回收空间碎片。

    • 设置碎片回收计划。

      对该实例设置回收计划后,DAS将在每天的可维护时间段自动检测隐藏节点(Hidden节点)的各个集合,并对满足索引空间和数据空间占用量之和大于1 GB且碎片率大于20%的集合执行compact

    • 手动执行回收。

      单击高碎片率集合操作列的执行回收,选择立即执行在运维窗口执行,回收目标集合的空间碎片。

    说明
    • 操作完成之后,不会立即完成空间碎片回收,请耐心等待。在实际情况下,compact命令会在后台运行一段时间,逐渐回收空间碎片。具体回收时间与可回收空间大小有关,空间越大,回收时间越长。

    • 避免同时回收过多的集合(建议控制在10个以内),完成当前任务后再进行下一轮空间碎片回收,否则可能造成回收任务失败。

    • 如果目标集合的碎片率较小,碎片回收的效果可能不明显

    • 针对数量较多的可回收空间较小的集合,建议采用碎片回收计划进行处理;而对于可回收空间较大的集合,则建议采用手动执行回收的方式。当集合的可回收空间超过100 GB时,回收时间可能超过1个小时,请您合理安排回收时间。

查看空间碎片回收结果

回收任务执行完成之后,请单击重新分析,查看回收后的效果。

常见问题

Q:如何处理报错(Interrupted) Compaction interrupted on table:*** due to cache eviction pressure

A:该报错表示低版本的小规格实例在执行compact的过程中遇到缓存压力而中途退出。当空间碎片回收任务执行失败时,您可以选择在另一个时间重新下发任务。如果任务多次失败,请提交工单进行处理。

相关文档

空间分析功能当前仅支持4.0及以上版本的副本集或分片集群MongoDB实例,如果您需要回收其他MongoDB实例的空间碎片,请参见回收磁盘碎片以提升磁盘利用率