es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Almacenar una gran cantidad de datos (datos estadísticos, datos de registro) y recuperarlos fácilmente.

He creado un sistema de publicidad donde el sistema recolectará los datos cada segundo.

Por ejemplo:

Hora de inicio: 6:00 p.m. 14 de diciembre de 2020

Hora de finalización: 6:10 p.m. 14 de diciembre de 2020

RelatedId: 6d32683d71hd3x286s62327hd

Los datos se guardarán cada segundo para cada sitio de visualización, lo que significa que una vista de usuario = un registro único, aproximadamente cada diez segundos se insertarán 200 nuevos datos de fila.

Con esta cantidad de datos, ¿existe alguna forma de almacenarlos correctamente y poder recuperarlos fácilmente?

Ejemplo:

Rango de fechas dado: 1 de enero de 2020 a 1 de enero de 2021

-recuperar todos los datos recopilados y generar el informe

El tiempo necesario para recuperar los datos es demasiado largo (causa errores con frecuencia) debido a la gran cantidad de datos dentro de la base de datos (miles de millones de filas de datos).

Resumen:

¿Cómo almacenar este tipo de gran cantidad de datos correctamente? ¿Algún mecanismo?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnologías de la información especializado en bases de datos, MongoDB y estadísticas, recomendaría utilizar un mecanismo de fragmentación (sharding) para almacenar y recuperar eficientemente una gran cantidad de datos. La fragmentación es un método de distribución de datos en varios nodos o servidores, lo cual ayuda a mejorar la escalabilidad y el rendimiento de la base de datos.

    En este caso, los datos pueden dividirse en fragmentos más pequeños y almacenarse en diferentes nodos o servidores basados en una clave de fragmentación. Esto ayudará a distribuir la carga equitativamente y reducir el tiempo de respuesta de las consultas. También es importante optimizar los índices y las consultas para mejorar el rendimiento de la base de datos.

    Además, considerando la naturaleza de los datos, una base de datos de series temporales también podría ser adecuada para este tipo de sistema. Las bases de datos de series temporales están diseñadas para manejar grandes cantidades de datos secuenciales y están optimizadas para consultas basadas en tiempo.

    En resumen, implementar un mecanismo de fragmentación y utilizar una base de datos de series temporales puede ayudar significativamente en el almacenamiento y recuperación eficiente de esta gran cantidad de datos.

Comments are closed.