none
Qual a melhor estrutura para bases em locais distantes? RRS feed

  • Discussão Geral

  • Trabalho com SQL Server 2008 R2 tenho o seguinte cenário.
    Meu cliente tem meu sistema em uma unidade (matriz) e está querendo colocá-lo em outra unidade.
    Cada unidade terá uma base de dados independente em um servidor local.
    Esta separação foi feita porque o sistema controla toda a indústria da unidade, onde qualquer problema que cause perda do link para tudo, ou seja, tem que ser separados mesmo.
    Periódicamente é realizada uma replicação para a unidade matriz.
    Até aí tudo bem, a arquitetura funciona perfeitamente, o problema é o custo, já que para cada unidade precisaria ter uma licença de SQL Server Standard, o que tornaria o custo da estrutura bastante alto, principalmente quando for se colocar nas demais filiais.

    Alguém pode me dar uma luz numa estrutura mais viável?
    quarta-feira, 27 de março de 2013 18:41

Todas as Respostas

  • Fala DanyBoy, tudo tranquilo?

    Vou mudar esse tópico para "discussão". Bem interessante por sinal pois é uma situação que muito administrador de TI pega e as vezes não sabe o "certo".

    Na minha opinião, não existe uma resposta errada. Mas tudo vai depender principalmente de 2 pontos: primeiro, quão importante é ter esse sistema 100% funcionando (ou próximo disso); segundo quanto de investimento está disponível (sim, investimento, se chamarem de custo você explica a importância de ter esse sistema de backup).

    Nesse seu caso, acredito que já está na melhor solução em relação a custo. A licença você vai pagar uma vez.

    Uma alternativa para usar somente um banco seria via MPLS (VPN). Você poderia acessar o sistema tudo via TS.
    Mas você fica dependente do link de internet/mpls. E para ter redundancia redundância seria necessário um segundo link de mpls/internet para que, caso um link caia, o outro assuma. Se for fazer de forma automatica essa troca também precisaria de um equipamento que fizesse esse "load-balance".

    Uma terceira opção seria migrar tudo pra nuvem (Windows Azure, por exemplo) e só depender de link de internet. Quão estável é esse link? Também poderia ter um segundo link aqui para redundância, e ficaria muito fácil usar o sistema em qualquer filial e ainda mais fácil implantar novas filiais.

    No seu caso, você prioriza o valor gasto, e não tem prioridade na replicação dos dados.
    No segundo caso que sitei, daria-se prioridade para a sincronização dos dados (tudo estaria online e se saberia tudo que está acontecendo em todas as filias de forma automatica). Mas existe o valor mensal dos links e o valor de investimento em equipamentos necessários.
    No terceiro caso, você está priorizando praticidade na manutenção e utilização da ferramenta. Mesmo custo mensal dos links.

    O mais importante: você deve alinhar com a diretoria (normalmente quem paga a conta) qual é a prioridade dos serviços. Mostrar as opções do mercado das mais baratas até as mais caras e mostrar os prós e contras de cada uma. Diga que todas vão funcionar, qual você recomenda para o ambiente (de acordo com sua experiência e conhecimento das necessidades da empresa) e no fim, aplicar a solução.

    Espero ter contribuído um pouco!

    Abraços!
    Felipo Gonçalves
    Microsoft Contingent Staff


    quarta-feira, 27 de março de 2013 20:17
  • Neste caso que explicitei, cada unidade teria que ter uma licença de SQL Server?

    Existe a necessidade de ser local, principalmente pois o sistema não é apenas controlado por pessoas, um programa fica rodando no servidor como um serviço acessando muitas vezes o banco de dados. Este programa dá o 'start' em alguns equipamentos e qualquer problema em acesso pode gerar muitos problemas.

    quarta-feira, 27 de março de 2013 22:03
  • Sim, no seu caso terá que ter uma licença para cada servidor.

    Aparentemente, devido a sua necessidade, você já está no melhor cenário. O que daria para trabalhar seria o processo de integração.

    Espero ter ajudado!

    Abraços!!

    Felipo Gonçalves
    Microsoft Contingent Staff

    quinta-feira, 28 de março de 2013 12:24
  • DanyBoy,

    Se entendi direito voce possui uma matriz com N filiais, cada filial possui seu sistema instalado localmente e é preciso fazer uma integração de dados das filiais para a matriz é isso? e seu problema esta sendo justamente o custo de uma licença standard para cada filial correto?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com

    quinta-feira, 28 de março de 2013 12:30
    Moderador
  • Olá Fabrizzio, é isso mesmo.
    quinta-feira, 28 de março de 2013 12:32
  • DanyBoy,

    Qual a quantidade de dados de sua filial? Muitos acessos pesados? Há realmente a necessidade de uma licença stardard para cada uma?

    Curiodidade: Suas filiais e matriz não estão em uma LAN?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com

    quinta-feira, 28 de março de 2013 12:34
    Moderador
  • Olá Fabrizzio,

    entre a matriz e filial é um circuito MPLS de 4Mbps, a quantidade de dados é baixo, cerca de 15 MB por semana entre dados e log. A empresa possui mais algumas filiais, o que implicaria em 1 licença por filial. O problema não está tanto na quantidade de dados, mas na disponibilidade de acesso pois o sistema não é apenas controlado por pessoas, um programa fica rodando no servidor como um serviço acessando muitas vezes o banco de dados. Este programa dá o 'start' em alguns equipamentos e qualquer problema em acesso pode gerar muitos problemas. Minha dúvida está realmente na necessidade de uma licença stardard para cada uma.

    quinta-feira, 28 de março de 2013 12:50
  • Danyboy,

    Sinceramente até agora não vi motivo nenhum que inviabilize a utilização de uma versão do SQL Server Express, as maiores limitações desta versão são:

    Falta do agent: Qualquer atividade como backup por exemplo pode facilmente ser agendada via SQLCMD + Windows Scheduler.

    Memoria: Limitação de memoria, mas com tão poucos dados voce não sentira nada pois toda sua base estara em memoria e acesso a disco será minimo.

    Processador: Mesmo argumento da memoria.

    Tamanho das bases: Limitado em 10GB para as versões 2008R2 e 2012. O que é muito superior a 15MB.

    No seu lugar o que eu faria: Colocaria instancias express em todas as filiais e não teria custo nenhum de licença uma vez que é gratuita, e na matriz faria um job via integration por exemplo que faça essa integração de dados (Ai na matria imagino que deva ser uma standard ou enterprise) e criaria uma rotina de limpeza de dados nas filiais, ou seja, aquele dado que voce não mais precisara na filial (Voce ainda terá o dado na matriz) seria descartado para não atingir os 10GB limite.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com

    quinta-feira, 28 de março de 2013 12:55
    Moderador
  • Boa dica Fabrizzio!
    quinta-feira, 28 de março de 2013 12:57
  • Boa Fabrizzio, vou dar uma estudada no assunto, vejo que o investimento seria bem mais baixo. Atualmente não sei como fazer estes processos, mas isso eu corro atrás.

    Obrigadão pela dica.

    quinta-feira, 28 de março de 2013 13:11