Al cambiar de plataforma, ¿cómo se debe planificar con anticipación para garantizar que el almacenamiento y el análisis de datos se mantengan rápidos y eficientes?

Esta es una pregunta realmente difícil porque depende de lo que quiere decir con “análisis”. ¿Necesita acceder a la totalidad de los datos para el análisis? ¿Solo te importan un par de días? ¿El análisis se realiza mejor en la transmisión en vivo?

También depende de lo que planeas hacer con los datos antiguos. ¿Estás archivando datos después de dos semanas? ¿dos meses? ¿dos años? ¿Nunca?

En condiciones normales, hacia lo que se moverá es efectivamente un clúster Mapa / Reducir. MySQL puede ser el clúster Map / Reduce de un hombre pobre durante un período de tiempo, pero eventualmente desea poder distribuir esos datos en varias máquinas para realizar consultas relativamente eficientes.

Dicho esto, las herramientas como Hadoop no son realmente adecuadas para manejar datos “en tiempo real” de una manera limpia. Si ejecuta una consulta en Hadoop, normalmente espera que los datos vuelvan en “minutos” y no en “milisegundos”.

Dependiendo de su visión de “analizar”, puede terminar aprovechando un par de bases de datos. Uno para análisis a largo plazo y otro para trabajar con el flujo de datos en tiempo real. Pero el resultado final depende en gran medida de los detalles.

Además de la excelente respuesta de Cameron Purdy, me ampliaría para decir que mover sus datos estructurados en MySQL a una solución NoSQL o Hadoop no estructurada no tiene absolutamente ningún sentido. ¡Las compañías que aprovechan las soluciones NoSQL y Hadoop a escala empresarial gastan millones de dólares tratando de hacer exactamente lo contrario! Las compañías que han intentado hacer esto no tienen éxito. NoSQL y Hadoop son plataformas terribles para realizar cualquier tipo de análisis empresarial (IE, señalando Tableau o Microstrategy), especialmente si desea resultados rápidos.

Para ampliar la respuesta de Anshu Sharma, parece que podría necesitar ayuda para determinar las tecnologías adecuadas para su problema de datos.

También puede hacer referencia a mi respuesta a la respuesta de Chris Schrader a ¿En qué situaciones se debe usar una base de datos determinada, como MS-SQL, MySQL, NoSQL, MongoDB o GraphDB sobre otra? ¿Cuáles son los escenarios en los que se usa cada uno? ¿Cuál es la ventaja o desventaja de uno sobre otro?

No confíe en MySQL cuando no necesite transacciones, lo cual no parece.

Iría por una solución NoSql. No necesita almacenar todos los datos en la memoria, ¿verdad? ¿Qué cantidad de capacidades de acceso aleatorio necesita?

Responder las preguntas anteriores te convencería de que necesitas transacciones de grado SQL o te convencería de que un almacenamiento en disco NoSql es un camino a seguir.

(Gracias por el A2A que hice clic mal).

Usted es un cliente soñado para muchas compañías de análisis de big data a las que les encantaría ayudarlo. Si comparte su nombre / información, estoy seguro de que muchos de ellos en Quora se pondrán en contacto con usted y podrá reunirse con ellos para educarse. Incluso si no termina comprando a ninguno de ellos, aprenderá mucho. (Es probable que termine comprando, lo cual es mutuamente bueno para todos los involucrados).

Para responder a su pregunta específica, probablemente debería considerar un sistema NoSQL que sea fuerte en archivado y análisis. Muchas de Hadoop, Spark y otras soluciones de código abierto serían útiles aquí.

Independientemente de su elección de tecnología (MySQL, Redis, MongoDB, etc.), lo que realmente necesita es un plan sobre cómo administrar y usar (por ejemplo, consultar) el conjunto de datos que crece infinitamente. ¿Desea mantener todos esos datos en un conjunto global de datos? ¿Quieres organizarlo por mes? ¿Necesita mantenerlo todo en línea o es aceptable mantener solo los últimos x meses o años en línea? No tomar este tipo de decisiones, ¡y tomarlas bien! – En la fase arquitectónica de su proyecto puede conducir a un gran desastre en el camino. (Aquí recuerdo algunas de mis fallas de diseño de aplicaciones en el pasado).

Con respecto a MySQL (por ejemplo, con MyISAM), es probable que sea mucho más rápido y use mucho menos espacio en disco y menos CPU y menos memoria y tenga mucha menos complejidad y menos problemas (y, por lo tanto, use mucho menos dinero) que las opciones NoSQL que mencionó. Este caso de uso está en su callejón. Sin embargo, si desea aprender algo nuevo y no le preocupa perder tiempo y dinero de la empresa, esta es una oportunidad perfecta para cualquier motor NoSQL aleatorio y Hadoop.

Los mejores deseos.