none
SUGESTÕES PARA REPLICAÇÃO - ATUALMENTE POR TRRIGER RRS feed

  • Pergunta

  • Olá galera !

    Estou precisando de ajuda para start um novo projeto aqui na empresa.

    Atualmente temos um projeto com SQL2000. Temo um servidor SQL na matriz com todas as tabelas e registros e temos um banco de dados em cada filial (30 Espelhados pelo Brasil). Nosso banco de dados esta chegando a 1 Tera de informação.

    Por motivos de negocio, não podemos deixar nenhuma filial parada por motivo algum. 
    Por esse motivo criamos uma replicação por Trigger ou seja: Quando um usuário realiza um INSERT/UPDATE/DELETE enviamos essa informação para uma tabela de log e depois através de um serviço do windows instalado em cada filial ele busca via WS um range de linhas que são executadas uma a uma na filial (esse processo serve tanto da matriz para filial como da filial para matriz).

    Esses logs gerados são utilizados também em casos de emergência para saber qual usuário realizou x alteração no sistema.

    O lado ruim da moeda é que perdemos performance to banco, pois toda manipula no banco acaba gravando uma linha de comando em uma unica tabela. (imagem 3mil funcionário inserindo informações e todas as informações também são inseridas em um tabela de log que consolida tudo isso).

    Preciso de ajuda pois não sei qual caminho seguir no projeto novo.

      - Continuamos com o mesmo cenário ?

     - Utilizando Replicação do SQL com filiais em locais que a conexão com a internet é péssima e por questão interna não podemos utilizar VPN (não me pergunte o porque, tenho vergonha de responder rs).

    - Alguém tem alguma discas ou sugestões para me ajudar nessa saga? 


    sexta-feira, 15 de agosto de 2014 16:03

Respostas

  • Boa Tarde Thiago,

    Na empresa que trabalho tenho uma solução de Replicação Transacional em funcionamento. O modelo do negócio é parecido, tenho uma base principal na central e todas as pontas (como se fossem filiais) recebem informações e retornam outras (insert, update, delete), sendo que as máquinas físicas estão geograficamente distantes.

    O ponto negativo é que o Linked Server é usado para transportar essas informações, ou seja, a latência de rede implica diretamente na performance do tráfego de dados.

    A Trigger pode até ser a solução para você devido as limitações da versão do SQL Server, mas a contenção gerada pela concorrência de transações tende a gerar muitos transtornos como você já ressaltou.

    Posso sugerir a atualização do SQL Server, mas talvez meus colegas consigam sugerir alguma solução paliativa.


    Att, Bruno Silva.

    sexta-feira, 15 de agosto de 2014 18:02
  • Thiago,

    Com o SQL Server 2012 as possibilidades de solução aumentam absurdamente...da uma  olhada no Always On também.

    Infelizmente não vou conseguir te passar essa informação por agora. 


    Att, Bruno Silva.

    segunda-feira, 18 de agosto de 2014 14:15

Todas as Respostas

  • Boa Tarde Thiago,

    Na empresa que trabalho tenho uma solução de Replicação Transacional em funcionamento. O modelo do negócio é parecido, tenho uma base principal na central e todas as pontas (como se fossem filiais) recebem informações e retornam outras (insert, update, delete), sendo que as máquinas físicas estão geograficamente distantes.

    O ponto negativo é que o Linked Server é usado para transportar essas informações, ou seja, a latência de rede implica diretamente na performance do tráfego de dados.

    A Trigger pode até ser a solução para você devido as limitações da versão do SQL Server, mas a contenção gerada pela concorrência de transações tende a gerar muitos transtornos como você já ressaltou.

    Posso sugerir a atualização do SQL Server, mas talvez meus colegas consigam sugerir alguma solução paliativa.


    Att, Bruno Silva.

    sexta-feira, 15 de agosto de 2014 18:02
  • Bom dia,
    Bruno.

    Vamos iniciar um novo projeto, estaremos utilizando SQL2012 na matriz e em todas as filiais.

    Você sabe me dizer qual a velocidade da sua banda e quanto de dados você trafega por dia ?


    segunda-feira, 18 de agosto de 2014 11:48
  • Thiago,

    Com o SQL Server 2012 as possibilidades de solução aumentam absurdamente...da uma  olhada no Always On também.

    Infelizmente não vou conseguir te passar essa informação por agora. 


    Att, Bruno Silva.

    segunda-feira, 18 de agosto de 2014 14:15