none
"Load Balance" - SQL Server 2008 R2 RRS feed

  • Pergunta

  • Boa tarde,

    Sei que o SQL Server não possui soluções para Load Balance (como o Oracle RAC), e andei lendo algumas coisas sobre a utilização de Cluster para "forçar" um balanceamento de carga, tendo dois nós ativos, duas instâncias diferentes e configurando o uso de memória de cada máquina de maneira que, no caso de failover, as duas consigam coexistir numa máquina só.

    Recomendam replicação merge ou transacional.


    O que queria saber é se alguém tem isso ou já implementou isso. Se acham viável, já que não é efetivamente um balanceamento de carga.
    E se fizeram, qual o cenário de vocês!


    Muito obrigada.


    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    quinta-feira, 17 de agosto de 2017 20:14

Respostas

  • Mariana, 

    na verdade a resposta que você procura vai depender do seu ambiente, por isso, minha resposta é: depende! rs

    1 Se você quiser fazer um "balanceamento de carga", o Cluster não vai te ajudar muito, pois ele é um recurso de alta disponibilidade a nível de servidor.

    2 Se vc pretende que sua aplicação faça insert/update/delete nas duas instâncias, você precisa configurá-la para isso e precisa configurar as duas instâncias SQL Server a replicação em merge.

    3 Se vc pretende que sua aplicação faça insert/update/delete apenas em uma instância e gerar relatórios em outra configure a replicação transacional, se puder ter um lag de tempo, configure agendamentos para as transferências de dados, senão deixe síncrono mesmo.

    Mas isso tudo vai depender de quão transacional seu ambiente é.


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)

    • Marcado como Resposta Mariana Del Nero segunda-feira, 28 de agosto de 2017 17:29
    sábado, 26 de agosto de 2017 15:30
  • Mariana,

    Recomendo transacional!!!

    Na verdade a partir da versão 2012 temos os recurso como Always On que permite justamente fazer o trabalho de Load Balance.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Sugerido como Resposta FLauffer quinta-feira, 24 de agosto de 2017 21:01
    • Não Sugerido como Resposta Mariana Del Nero sexta-feira, 25 de agosto de 2017 17:35
    • Marcado como Resposta Mariana Del Nero segunda-feira, 28 de agosto de 2017 17:29
    quarta-feira, 23 de agosto de 2017 23:19
    Moderador
  • Mariana,

    Qual a versão do seu SQL Server?

    Concordo com o Junior. Se a sua versão for 2012 ou superior recomendo a avaliação da utilização do recurso AlwaysON.

    Segue link para visualização da documentação sobre o recurso AlwaysON:

    https://docs.microsoft.com/pt-br/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server


    Felipe Lauffer
    MCT | MCSE: Data Management & Analytics | MCSE: Data Platform | MCSA: SQL Server 2012/2014 | MCP

    [ Blog ] - [ Profile ] - [ Wiki ] - [ Gallery ] - [ LinkedIn ]


    • Marcado como Resposta Mariana Del Nero segunda-feira, 28 de agosto de 2017 17:29
    quinta-feira, 24 de agosto de 2017 21:01

Todas as Respostas

  • Mariana,

    Recomendo transacional!!!

    Na verdade a partir da versão 2012 temos os recurso como Always On que permite justamente fazer o trabalho de Load Balance.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Sugerido como Resposta FLauffer quinta-feira, 24 de agosto de 2017 21:01
    • Não Sugerido como Resposta Mariana Del Nero sexta-feira, 25 de agosto de 2017 17:35
    • Marcado como Resposta Mariana Del Nero segunda-feira, 28 de agosto de 2017 17:29
    quarta-feira, 23 de agosto de 2017 23:19
    Moderador
  • Mariana,

    Qual a versão do seu SQL Server?

    Concordo com o Junior. Se a sua versão for 2012 ou superior recomendo a avaliação da utilização do recurso AlwaysON.

    Segue link para visualização da documentação sobre o recurso AlwaysON:

    https://docs.microsoft.com/pt-br/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server


    Felipe Lauffer
    MCT | MCSE: Data Management & Analytics | MCSE: Data Platform | MCSA: SQL Server 2012/2014 | MCP

    [ Blog ] - [ Profile ] - [ Wiki ] - [ Gallery ] - [ LinkedIn ]


    • Marcado como Resposta Mariana Del Nero segunda-feira, 28 de agosto de 2017 17:29
    quinta-feira, 24 de agosto de 2017 21:01
  • Olá Junior e Flauffer

    Na verdade meu SQL Server é 2008 R2 e não temos previsão para upgrade (esqueci de informar isso no post).

    Vocês já fizeram o "load balance" com cluster, no cenário que descrevi?

    Obrigada.


    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    sexta-feira, 25 de agosto de 2017 17:35
  • Mariana,

    Eu particularmente nunca fiz um ambiente com "load balance" neste cenário que você descreveu.

    Não há uma resposta fácil e simples para os seus questionamentos, mas é importante lembrar que independente do cenário escolhido a arquitetura do ambiente e das aplicações deverá estar preparada para suportar o cenário escolhido.


    Felipe Lauffer
    MCT | MCSE: Data Management & Analytics | MCSE: Data Platform | MCSA: SQL Server 2012/2014 | MCP

    [ Blog ] - [ Profile ] - [ Wiki ] - [ Gallery ] - [ LinkedIn ]


    sexta-feira, 25 de agosto de 2017 19:56
  • Mariana, 

    na verdade a resposta que você procura vai depender do seu ambiente, por isso, minha resposta é: depende! rs

    1 Se você quiser fazer um "balanceamento de carga", o Cluster não vai te ajudar muito, pois ele é um recurso de alta disponibilidade a nível de servidor.

    2 Se vc pretende que sua aplicação faça insert/update/delete nas duas instâncias, você precisa configurá-la para isso e precisa configurar as duas instâncias SQL Server a replicação em merge.

    3 Se vc pretende que sua aplicação faça insert/update/delete apenas em uma instância e gerar relatórios em outra configure a replicação transacional, se puder ter um lag de tempo, configure agendamentos para as transferências de dados, senão deixe síncrono mesmo.

    Mas isso tudo vai depender de quão transacional seu ambiente é.


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)

    • Marcado como Resposta Mariana Del Nero segunda-feira, 28 de agosto de 2017 17:29
    sábado, 26 de agosto de 2017 15:30
  • Srs,

    Obrigada a todos por compartilharem informações.



    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    segunda-feira, 28 de agosto de 2017 17:29
  • Mariana,

    Da forma que você esta citando eu particularmente não trabalhei, sempre configurei ambientes de Cluster tendo nós ativos e passivos, mas dentre este conjunto de nós um era sempre o ativo.


    Pedro Antonio Galvao Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 30 de agosto de 2017 11:38
    Moderador