Modo de importação de Dados de Forma Paralela

Java

C#

C

JDK

C++

29/03/2019

Boa Tarde galera.

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

João Domingos

Curtidas 0

Melhor post

Artur Barth

Artur Barth

02/04/2019

O que eu já implementei foi o seguinte.
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.
GOSTEI 2

Mais Respostas

Chromusmaster

Chromusmaster

29/03/2019

Boa Tarde galera.

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?
GOSTEI 1
João Domingos

João Domingos

29/03/2019

Boa Tarde galera.

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.
GOSTEI 0
João Domingos

João Domingos

29/03/2019

O que eu já implementei foi o seguinte.
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!
GOSTEI 0
POSTAR