Estoy creando una aplicación web relativamente simple pero muy útil que pasa por MUCHOS datos (pequeños objetos JSON/js). No pude encontrar ningún servicio de base de datos almacenado localmente que fuera de mi agrado. Se me ocurrió esta solución.
Contexto: el cliente simplemente obtiene los datos de una API que estoy creando y analiza para el usuario, por supuesto, todos los datos deben almacenarse en el servidor. Una instancia de la siguiente clase que describiré recopila alrededor de 100 000 objetos de datos por día en promedio. Hasta un mayor desarrollo, el cliente solo tendrá acceso a los datos en tiempo real de las últimas 24 horas.
La clase que creé recopila los datos en una matriz y los publica en la API, pero debido a la gran cantidad de datos, me preocupa la memoria a largo plazo. Mi solución es todos los días, para que la clase guarde los datos en un archivo JSON con marca de tiempo en una carpeta designada para la instancia de esa clase. Por ejemplo, si esta instancia está rastreando datos ETHUSDT, cada archivo json se llamaría algo así como ' ETHUSDT_m100k_10/15/2021-10/16/2021.json '. Luego, con la matriz, elimine cualquier dato anterior a un día, para que la matriz no ocupe demasiada memoria. De esta manera, la clase aún puede publicar los datos de un día en la API, sin perder datos después de un día y mantener una matriz considerable.
Mi preocupación es que los datos empalmados de la matriz aún permanecerán en la memoria sin una referencia. ¿Es este el caso? Recién comencé a aprender a codificar este febrero y soy autodidacta, por lo que entiendo que habrá lagunas en mi conocimiento. Sé que el recolector de basura JS es bastante bueno, pero escribí un programa similar en Python y con la misma táctica, la memoria siguió creciendo.
Perdón por la explicación larga para una pregunta simple. En otras palabras:
¿Se eliminan los datos de una matriz que quedan en la memoria?