Pular para o conteúdo
Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #96995
    huntersc
    Participante

      Bom Dia pessoal,

      Estou a procura da melhor forma de fazer uma replicação de dados, se utilizo recurso do proprio oracle ou ferramentas terceiras.

      Cliente tem Escritorio com banco dados 10g, e 2 lojas com Frente de Caixa,
      a ideia seria instalar oracle xe nas lojas e no final do dia enviar os dados para a central.. e a matriz enviar novos produtos para as filiais..

      Pergunto consigo fazer isso no XE? O que devo utilizar? Estava vendo Oracle Lite , oracle streams…

      Alguem tem algum ambiente assim?

      Valeu

      Jr

      #96998
      Avatar photoRegis Araujo
      Participante

        Ola Hunter..!

        Bom.. atualmente trabalho com 2 tipos de replicação de dados, Oracle Streams e Oracle Replication.. Ambas atendem a necessidade da empresa.. mas vc precisa ver qual a sua real necessidade, pois a implementação do Streams pelo q eu vejo, não é interessante, pois é um custo muito alto..!

        Primeiro, qual a massa de dados que vc precisa atualizar?
        De quanto em quanto tempo vc precisa destes dados atualizados?
        Se a atualização for constante, ela precisa ser sincrona ou assincrona ?

        Aqui trafegamos milhoes de dados por hora e os dados precisam estar sempre sincronizados, então utilizamos para esta situação o Oracle Streams Bi-Direcional..

        Em outra situação, podemos atualizar os dados a cada 10 ou 20 minutos, então utilizamos o Oracle Replication que é via Materialized Views e pode ser Bi-Direcional..

        Tudo depende da sua regra de negócios..!!

        As vezes um JOB que rode a cada 12 hras e atualize suas tabelas em ambos os SITES, pode ser o suficiente..!!!

        Qualquer dúvida.. posta ai…!!

        Abraços..!

        #97000
        huntersc
        Participante

          Opa…

          A minha necessidade é que os caixas PDV tenham um banco de reta-guarda para caso falhe a conexao com a matriz.. e que em tempos x atualizasse as vendas no servidor principal.. algumas tabelas sao bi-direcionais outras somente direcionais..

          A Massa de dados seriam as vendas e produtos, hoje de produtos sao +/- 19 mil itens.. a quantidade de vendas por hora nao levantei mais são 3 caixas em cada filial..

          Algumas tabelas podem ser feitas atualizações em Hora. Tipo venda, Estoque.. As de produtos no começo da manhã e no final..

          O Oracle Lite que é gratuito fornecesse essa possibilidade vc saberia me dizer?

          Com Materialized views, preciso alterar alguma coisa na aplicação?

          Gostaria algo mais inteligente e se possivel uma solucao gratuita, talvez o JOB , como as minhas tabelas tem Numeração automatica podem coincidir com a matriz e dar algum problema?

          Tem algum site que tenha exemplo que possa me indicar?

          Obrigado

          Junior

          #97007
          Avatar photoRegis Araujo
          Participante

            Ola Jr..!!

            Então.. aqui é a mesma situação…!!

            Então como sua atualização pode ser assincrona.. te aconselho a fazer via Advanced Replication mesmo.. que é bi-direcional..!!

            Da uma lida neste site..!!

            http://dbataj.blogspot.com/2007/11/adva … ction.html

            Qualquer coisa.. avisa ai..!

            Abraços..!

            #97009
            Peterson
            Participante

              Jr,

              A solução que o Thunder propoz é bacana, mas não sei se seria o caso de descentralizar o banco de dados da empresa. Lembre-se que você está impondo mais complexidade ao seu ambiente. Além disso você precisará manter um hardware em cada filial para esses bancos de dados adicionais, backups, administrar 3 instâncias ao invés de apenas 1 etc etc etc.
              Minha sugestão é: Se o calcanhar de Aquiles é o link de comunicação, contrate um link mais confiável ou contrate 2 de operadoras diferentes, atentando sempre para o SLA contratado.
              Não sei se nas lojas vc possui link dedicado… rede Frame Relay ou MPLS, ou se usa um ADSL convencional. Mesmo no caso do ADSL há equipamentos como o roteador Linksys RV02 que suporta 2 links WAN e trabalham muito bem, com esse equipamento você poderia estabelecer uma VPN entre a sede e as lojas com uma redundância de links.

              Pensa nisso, talvez a solução esteja mais para investimento na rede do que no banco.

              #97012
              Avatar photoRegis Araujo
              Participante

                Opa…

                Concordo com o Peterson..!! Vai ter um curso elevado.. pois se vcs aumentarem mais lojas.. terá que criar mais bancos e tal..!

                A solução do link é realmente a melhor.. mas creio que o um link “exclusivo” de 512k´s já seria o suficiente.. pois será apenas para a comunicação entre a loja e a matriz..

                Desta maneira vc terá sempre suas lojas com dados atuais e também terá como emitir relatórios de vendas e tal em tempo real..!! No máximo um Oracle XE nas lojas para caso o link caia.. mas a atualização destes dados vc pode fazer de X em X horas.. e com relação a conflitos de sequence, vc vai precisar criar a sequence diferenciada para cada loja.. ou montar uma rotina que faz uma comparação entre a loja e a matriz e faça um insert usando a sequence da matriz..

                É tudo como falei antes.. depende da sua regra de negócios.. infelizmente mesmo que vc tenha N links redundantes.. pode ocorrer da loja ficar sem acesso a matriz.. mas se tiver o XE instalado local.. com sua tabela de preços e tal.. já vai dar para realizar as vendas.. no final do dia vc faz a sincronização…

                Bom.. ficam as dicas..!!

                Abraços..!

                #97013
                huntersc
                Participante

                  Valeu,

                  Tambem pensei em fazer uma VPN. Acho que até a legislacao fiscal fala em ter redundancia caso a comunicação para.

                  Com relação a numeração como existe chave numero,codempresa acredito q nao de problema..

                  Obrigado pelas dicas..

                  #97017
                  Ishii
                  Participante

                    Olá,

                    Apenas para deixar minha opinião:

                    Já tive um ambiente como o apresentado aqui. Só que com 15 Filiais no Brasil inteiro e pode ocorrer os seguintes problemas: Falta de link adequado na região, instabilidade de sinal (pois em alguns lugares do Brasil apenas o Rádio funciona), Grande Volume de Dados que necessitavam de sincronização bidirecional. Como o PDV estava em diversos Ambientes de BD (Firebird, Postgree e Oracle XE) partimos para o seguinte desenho:

                    Schema no Servidor Central para a Sincronização;
                    Rotina de Sincronização (insert select mesmo) desenvolvida em Java agendada via Servidor Central;
                    JOBS (Scheduler) para complementar as verificações

                    O Agendamento da Sincronização era de 10 minutos em 10 minutos,caso a Filial estivesse sem link, era gerado um alerta e um log,no próximo agendamento eram verificados todos as tabelas dessa filial para evitar a redundância e falta de sincronização.

                    Hoje mudamos o PDV apenas para Firebird por questões de manutenção de Infra mesmo, e estamos iniciando a sincronização por Web Service, e o Agendamento está em 5 minutos (testamos com 1 minuto, mas por causa da lentidão de algumas localidades gerou alguns locks desnecessários).

                    Posso apenas dizer que foi o método mais simples que encontramos e como sempre, o simples funciona bem. Temos nas lojas um movimento de PDV variando de 30-100 NF/hora sendo que algumas estão distribuídas ao longo do dia e outras tendo picos elevados no final do dia apenas. Para não dizer que tudo são flores, temos em média um erro de sincronização de cerca de 1 NF por mês que está sendo investigado para determinar sua causa, mas ainda sem sucesso pois é muito intermitente…

                    []s Ishii

                  Visualizando 8 posts - 1 até 8 (de 8 do total)
                  • Você deve fazer login para responder a este tópico.