Utilizo mongodb para almacenar datos de 30 días que llegan a mí como una secuencia. Estoy buscando un mecanismo de purga mediante el cual pueda tirar los datos más antiguos para crear espacio para nuevos datos. Solía usar mysql en el que manejaba esta situación usando particiones. Mantuve 30 particiones basadas en fechas. Borro la partición fechada más antigua y creo una nueva partición para contener datos nuevos.Cómo manejar el purgado de bases de datos en Mongodb
Cuando mapeo lo mismo en mongodb, me apetece utilizar una fecha basada en 'fragmentos'. Pero el problema es que hace que mi distribución de datos sea mala. Si todos los datos nuevos están en el mismo fragmento, entonces ese fragmento estará tan caliente ya que hay mucha gente accediéndolos y los fragmentos que contienen datos más antiguos serán menos cargados por los usuarios.
Puedo realizar una purga basada en la recolección. Puedo tener 30 colecciones y puedo descartar la colección más antigua para acomodar nuevos datos. Pero algunos de los problemas son 1) Si hago las colecciones más pequeñas, no puedo beneficiarme mucho de la fusión, ya que se realizan por colección. 2) Mis consultas tienen que cambiar a la consulta de las 30 colecciones y tomar una unión.
Por favor sugiérame un buen mecanismo de purga (si corresponde) para manejar esta situación.