Modo de importação de Dados de Forma Paralela
29/03/2019
0
Então estou com um serviço que preciso achar qual é o melhor modo de importar dados paralelamente. Porque o que acontece aqui, são várias bats que executam varios scripts, mas o problema é que vai seguindo uma ordem, e caso alguma dessas importações dê algum erro, as próximas não executam. Queria saber de vocês se conhecem algum outro modo de importar dados paralelamente.
João Domingos
Post mais votado
02/04/2019
1. Verifiquei a dependência entre os dados. Todas as tabelas não dependentes são importadas em paralelo.
Ex: Tabela GRUPOS e Tabela TIPOPRODUTO por exemplo. Ambas as tabelas não possuem FK de outras tabelas em suas estruturas, consequentemente é possível criar Threads e realizar a importação das mesmas em paralelo.
2. Identifiquei uma ordem de tabelas e dependentes.
Ex: Sem dependência = Ordem 0. Com dependência da Ordem 0 = Ordem 1. Com dependência da Ordem 1 = Ordem 2.
Ordem 0
Ordem 0
Ordem 0
Ordem 0 Count = 3 então cria-se três Threads.
Ordem 1
Ordem 1
Count = 2 então cria-se duas Threads.
Ordem 2
Count = 1 então não cria Threads.
Essa foi a solução que encontrei para um problema onde precisava realizar a importação de 280 entidade em um banco de dados com mais de 2800 entidades.
Artur Barth
Mais Posts
01/04/2019
Chromusmaster
Então estou com um serviço que preciso achar qual é o melhor modo de importar dados paralelamente. Porque o que acontece aqui, são várias bats que executam varios scripts, mas o problema é que vai seguindo uma ordem, e caso alguma dessas importações dê algum erro, as próximas não executam. Queria saber de vocês se conhecem algum outro modo de importar dados paralelamente.
Os dados estão sendo importados para alguma base de dados? Se sim, já pensou em usar bulk insert?
Se não para onde os dados estão sendo importados? Consegue detalhar melhor todo o contexto?
01/04/2019
João Domingos
Então estou com um serviço que preciso achar qual é o melhor modo de importar dados paralelamente. Porque o que acontece aqui, são várias bats que executam varios scripts, mas o problema é que vai seguindo uma ordem, e caso alguma dessas importações dê algum erro, as próximas não executam. Queria saber de vocês se conhecem algum outro modo de importar dados paralelamente.
Os dados estão sendo importados para alguma base de dados? Se sim, já pensou em usar bulk insert?
Se não para onde os dados estão sendo importados? Consegue detalhar melhor todo o contexto?
Boa Tarde
Então cara a importação funciona da seguinte forma, ele junta todos os arquivos e logo depois faz um FTP, mas a questão ta dando problema é que esses scripts executam em ordem cronológica, o que acaba acarretando um efeito dominó caso alguma das importações dê erro.
Preciso que algumas importações sejam feitas em paralelo, para que uma não interfira na outra.
02/04/2019
João Domingos
1. Verifiquei a dependência entre os dados. Todas as tabelas não dependentes são importadas em paralelo.
Ex: Tabela GRUPOS e Tabela TIPOPRODUTO por exemplo. Ambas as tabelas não possuem FK de outras tabelas em suas estruturas, consequentemente é possível criar Threads e realizar a importação das mesmas em paralelo.
2. Identifiquei uma ordem de tabelas e dependentes.
Ex: Sem dependência = Ordem 0. Com dependência da Ordem 0 = Ordem 1. Com dependência da Ordem 1 = Ordem 2.
Ordem 0
Ordem 0
Ordem 0
Ordem 0 Count = 3 então cria-se três Threads.
Ordem 1
Ordem 1
Count = 2 então cria-se duas Threads.
Ordem 2
Count = 1 então não cria Threads.
Essa foi a solução que encontrei para um problema onde precisava realizar a importação de 280 entidade em um banco de dados com mais de 2800 entidades.
Boa Tarde
Realmente a solução que eu também encontrei foi a de fazer Threads, pensamos igual.
Obrigado pela ajuda!
Clique aqui para fazer login e interagir na Comunidade :)