Solución para un Data warehouse de unos 7 GB

Recientemente, implementamos un nuevo "lago de datos" en la plataforma Azure. El proceso de toma de decisiones había sido complicado y no puedo evitar la sensación de que hemos comprado una base de datos costosa y difícil de manejar cuando teníamos opciones mucho mejores y más baratas.

Nuestros requisitos son bastante básicos: tenemos alrededor de 7 GB de datos, la mayoría proviene de un volcado diario de la base de datos (CSV).
Los datos se usan para generar informes (actualmente, los resultados de las consultas se exportan a Excel, en el futuro se usará algo como PowerBi) y análisis. Con la cantidad de datos que tenemos actualmente, creo que una solución completa de Big Data como Cloudera o MapR es innecesaria (pero tal vez me equivoque).

En nuestra solución actual, el proceso ETL que lee el volcado CSV y la base de datos son administrados por un tercero. Usando MSSQL Management Studio o SquirrelSQL, podemos ejecutar consultas y exportar los resultados. Tenemos acceso de escritura a parte de la base de datos y necesito poder diseñar procesos ETL para complementar los datos que ya existen.

Esta es la primera falla: no he podido leer automáticamente/programadamente un archivo plano en la base de datos. Además, la base de datos no es particularmente rápida y estamos teniendo problemas para implementar el seguimiento de registro/auditoría.

En mi experiencia, Postgres en CentOS es rápido y registra el acceso a la base de datos prácticamente de forma inmediata. Automatizar la importación de archivos planos tampoco es un problema.

¿Cuáles son mejores soluciones que nuestra configuración actual de Azure?

Tenga en cuenta que este sitio no presenta solicitudes de comparaciones de productos: SR se trata de sugerir software específico para necesidades específicas que usted defina. Para obtener más información, consulte: ¿Es la herramienta x frente a la herramienta ya una pregunta justa? . He ajustado su pregunta para que sea sobre el tema. Podría ser una buena idea establecer un presupuesto también.

Respuestas (1)

Si su archivo plano es CSV, mysql tiene una herramienta de importación incorporada, ya que estoy seguro de que otros productos tienen una característica similar.

Por supuesto, se puede configurar el registro.

Ahora, con este pequeño conjunto de datos, tiene muchas opciones si se trata de hardware local.

  1. SSD tiene 500-550 mb/s
  2. M.2 SSD tiene 2000-3000 mb/s
  3. Agregue RAM a la computadora y configure una unidad RAM.

Dado que está utilizando la nube, la velocidad de su Internet podría obstaculizarlo.

Además, tener una base de datos diseñada correctamente también afecta la velocidad. Saber cuándo y cómo crear índices para acelerar el acceso a los datos. Se pueden hacer muchas cosas para optimizar las consultas por parte de alguien capacitado en SQL.

El diablo está en los detalles: la importación masiva parece mucho más difícil en Azure mssql que en postgres. No he encontrado una manera de hacerlo todavía. El proceso ETL hace que funcione al montar el almacenamiento de Azure, pero no tengo esa opción porque no estoy en la misma red. Por lo tanto, la función de importación masiva no es algo que todos los DB realmente compartan.