Dasboard com dados oriundos de arquivos gigantes

13/07/2018

0

Preciso automatizar a atualização de dashboards com dados oriundos de arquivos gigantes no formato xlsx em torno de 300k de registros e 200 colunas aproximadamente 150MB,
atualmente uso python para baixar o arquivo e converter em .sql e depois insiro no MySQL por meio de comando direto no cmd
logo após executo procedures que criam tabelas com os dados agrupados nos níveis necessários para cada visualização do dashboard
o problema é que este processo é muito lento e como é acumulativo acaba se tornando mais lento ainda no passar do tempo.
Considerando este cenário, penso em migrar para MongoDB. Gostaria de saber se alguem pode informar se terei bons resultados
com a migração ou alguma outra sugestão para solucionar o problema.
Obs: Tudo deve ser feito com tecnologias open source que rodem na intranet, os dashboards são paginas em php com auxilio de algumas libs javascript
Poncio Oliveira

Poncio Oliveira

Responder

Post mais votado

16/07/2018

"python para baixar o arquivo e converter em .sql e depois insiro no MySQL" -- Aqui já tem muita gordura pra tirar do seu processo.

Se você já está usando python, abra uma conexão com o banco e insira os dados direto, sem converter em .sql

Para aliviar a carga e não deixar sua máquina sem memória, faça essa inserção em batches (faça um loop que lê só 10,000 linhas por vez). Isso vai ajudar.
Outra coisa. Nas configurações do MySQL, desligue o autocommit e os logs quando fizer as cargas.

Pra BI, outra dica é você criar tabelas com os dados já agregados, reduzindo muito os tempos de queries para os dashboards.
Dica de leitura: ETL Toolkit do Kimball.

Leandro Meili

Leandro Meili
Responder

Mais Posts

13/07/2018

Venancio Alves

Olá Poncio Elias!

Se o problema é o desempenho do banco de dados, consultas pesadas, a migração será muito boa, vai ganhar muito desempenho.

Responder

17/07/2018

Poncio Oliveira

Obrigado pela recomendação de leitura, tenho muito ainda a evoluir no ETL, quanto a técnica sobre python, na verdade, a forma que falou foi a primeira tentativa que fiz e pelo menos nos meus testes praticos ficou mais rápido convertendo tudo em sql e dando a carga em um comando só, por hora, vou tentar as dicas de configuração do mysql.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar