sql >> Base de Datos >  >> NoSQL >> MongoDB

La forma más rápida de eliminar más de 100 millones de documentos por ID

Debido a que no podemos permitirnos el tiempo de inactividad del usuario y la solución debe ejecutarse diariamente (aunque a una escala mucho menor, ya que nos estamos poniendo al día con esta primera ejecución), no pude usar la solución de Salvador Dali. Terminé agrupando mis registros para ser eliminados en grupos de 1k y enviando un comando BulkWrite que contenía un delete() operación para cada registro. Paralelamente, envié n comandos BulkWrite para anular las referencias a cada registro, donde n es el número de colecciones que hacen referencia a los registros y donde cada solicitud BulkWrite tiene 1k update() individual operaciones, similar a delete() . Esto funcionó razonablemente rápido, por lo que no intenté optimizar más ajustando la cantidad de operaciones en los comandos BulkWrite.