面试题答案
一键面试- 备份策略
- 选择合适的备份时间:挑选业务低峰期进行备份操作,例如凌晨时段,此时线上业务对数据库的读写请求相对较少,能降低备份操作对正常业务的影响。
- 采用增量备份:如果数据库支持增量备份(MongoDB原生无直接增量备份,但可借助oplog实现类似功能),优先使用增量备份方式。仅备份自上次备份以来发生变化的数据,相比全量备份能大大减少备份数据量,缩短备份时间。
- 限流备份:通过设置合理的资源限制,限制备份过程中对数据库资源(如CPU、I/O等)的占用。比如在使用
mongodump
工具时,可通过调整--numParallelCollections
参数控制并行度,减少对数据库性能的冲击。
- 恢复策略
- 预检查与准备:在恢复之前,对目标环境进行全面检查,确保硬件资源(如磁盘空间、内存等)充足,网络稳定。同时,提前准备好必要的配置文件和参数,以便快速完成恢复后的初始化设置。
- 选择合适的恢复时间:同样选择业务低峰期进行恢复操作。如果无法在低峰期完成,可考虑分阶段恢复,先恢复关键数据和索引,使业务能尽快恢复基本功能,然后再逐步恢复其他数据和索引。
- 优化恢复过程:在恢复数据和索引时,合理调整恢复工具的参数。例如,在使用
mongorestore
时,根据目标环境的硬件性能和网络状况,适当调整--numInsertionWorkersPerCollection
参数来控制恢复的并行度,避免因恢复速度过快导致系统资源耗尽,影响线上业务。 - 验证与测试:恢复完成后,立即进行数据一致性验证和简单的功能测试,确保恢复的数据和索引能够正常使用,避免影响后续业务运行。