Usuário com melhor resposta
Envio massivo de dados pela net

Pergunta
-
Boa tarde
preciso enviar uma grande quantidade de dados de um servidor para outros servidores na net. Preciso fazer com que isso aconteça de tempos em tempos, como se fosse um backup. Minha dúvida esta em relação a novos dados que serão criados após o envio e estes, no tempo certo, também deverão ser transmitidos.
Como poderia fazer, para que ele enviasse somente os dados não enviados?
Pensei em criar uma tabela e armazenar a chaves dos dados enviados. E a cada novo envio checar nesta tabela se determinada chave foi ou não enviada. Mas estou preocupado com a demora desta consulta
Respostas
-
Olá Junior,
Depende do tipo de dado. Se for dados de uma tabela pequena, vale a pena verificar pela chave primária ex: id.
Se você está enviando uma massa de dados muito grande mesmo, tente usar algum campo datetime como referência.
Em algum lugar da aplicação você deve guardar o datetime da ultima atualização e aí você envia somente o que está superior que esse datetime.
Isso é um tanto relativo mas eu faria dessa forma.
No entanto, existem algumas outras formas de replicação de dados direto no banco de dados. Vale a pena dar uma pesquisada se esse for o seu caso.
Abraços !
Diego Murakami
- MCP, MS
* Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 28 de maio de 2014 11:42
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 29 de maio de 2014 11:06
-
Junior vc terá um servidor de onde será disparado esse processo correto ?
Nesse servidor vc cria uma tabela somente com os dados novos e após a replicação vc esvazia essa tabela, assim vc garante que nessa tabela só existam dados novos, pode ser uma forma de não fazer um select no banco.
Mais ai só vc testando a viabilidade disso e verificando a sua estrutura, é apenas uma idéia.
Junior
- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 28 de maio de 2014 11:42
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 29 de maio de 2014 11:06
Todas as Respostas
-
Olá Junior,
Depende do tipo de dado. Se for dados de uma tabela pequena, vale a pena verificar pela chave primária ex: id.
Se você está enviando uma massa de dados muito grande mesmo, tente usar algum campo datetime como referência.
Em algum lugar da aplicação você deve guardar o datetime da ultima atualização e aí você envia somente o que está superior que esse datetime.
Isso é um tanto relativo mas eu faria dessa forma.
No entanto, existem algumas outras formas de replicação de dados direto no banco de dados. Vale a pena dar uma pesquisada se esse for o seu caso.
Abraços !
Diego Murakami
- MCP, MS
* Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 28 de maio de 2014 11:42
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 29 de maio de 2014 11:06
-
Junior vc terá um servidor de onde será disparado esse processo correto ?
Nesse servidor vc cria uma tabela somente com os dados novos e após a replicação vc esvazia essa tabela, assim vc garante que nessa tabela só existam dados novos, pode ser uma forma de não fazer um select no banco.
Mais ai só vc testando a viabilidade disso e verificando a sua estrutura, é apenas uma idéia.
Junior
- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 28 de maio de 2014 11:42
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 29 de maio de 2014 11:06