PostgreSQL - Replicação de Base de Dados Em Tempo Real Para Obter Redundância e Escalabilidade

Поделиться
HTML-код
  • Опубликовано: 4 ноя 2024

Комментарии • 65

  • @NieltonMoraes
    @NieltonMoraes Год назад +12

    Patrick, eu consegui reproduzir exatamente o mesmo que voce. Agora estou precisando além de replicar, configurar o pool de conexões, para quando uma instancia cair uma outra assume a parada. Voce teria este tutorial?

  • @hemersonwillian5611
    @hemersonwillian5611 Год назад +3

    Excelente conteúdo parabéns pela didática e pelo conhecimento compartilhado Deus abençoe.

  • @LemoviskiRAP
    @LemoviskiRAP 2 года назад +2

    Patrick Muniz Excelente conteúdo. Obrigado por se dispor a explicar esse conteúdo tão necessário e ainda fez de forma simples e clara e objetiva.

  • @mateusrocha8107
    @mateusrocha8107 Год назад +1

    Muito bom seu conteúdo, mano! Sucesso.

  • @miguelvaldrighi6357
    @miguelvaldrighi6357 Год назад +2

    Muito bom!
    Parabéns pela abordagem

  • @NieltonMoraes
    @NieltonMoraes Год назад +1

    Sensacional. Muito obrigado!

  • @netto_info
    @netto_info Год назад +1

    Parabéns pelo canal e pelo conteúdo, Patrick!

  • @lucasmaiamoreira
    @lucasmaiamoreira 2 года назад +1

    Muito bom Patrick Parabéns pela aula!

  • @Arthurmice
    @Arthurmice Месяц назад

    muito bom o video

  • @hugomesquita6131
    @hugomesquita6131 Год назад

    Excelente conteúdo, mandou bem!

  • @FabioLeonardoAlvesLeite
    @FabioLeonardoAlvesLeite Год назад

    Excelente. Parabéns.

  • @jeanbroqua
    @jeanbroqua Год назад +1

    Valeu pela aula! 🍞

  • @roberwagner1051
    @roberwagner1051 2 месяца назад

    Parabéns pelo conteúdo! Muito bom .. teria ja o tuto de backup continuo ?

  • @FredWilliamTornoJunior
    @FredWilliamTornoJunior Год назад +1

    Muito obrigado. Parabéns.

  • @orafaelgf
    @orafaelgf Год назад

    excelente video, parabens. continue trazendo conteudos assim. como sugestao, traga conteudos do postgres em k8s. abs

  • @denisquintasluiz506
    @denisquintasluiz506 5 месяцев назад

    Muito interessante 💯

  • @FantasminhaGames
    @FantasminhaGames 11 месяцев назад

    Excelente video, me ajudou muito.

  • @rhawldj
    @rhawldj 3 месяца назад

    Muito obrigado!

  • @mkevison
    @mkevison Год назад +2

    Pra quem não estiver usando o docker e estiver no usuario root provável que seja necessário dar o comando:
    sudo chown postgres -R /var/lib/postgresql/{versão-do-postgres}/main/
    Quando usei o comando pg_basebackup ele definiu a pasta do postgres para o root e o postgres não conseguiu iniciar, então com isso ele volta o acesso da pasta para o usuario postgres

  • @MrDiegoverdan
    @MrDiegoverdan 10 месяцев назад +1

    E se houver alteração na instância REPLICATION? A MAIN recebe essa informação?

  • @maurosma
    @maurosma Год назад +1

    É possível usar dois servidores com o mesmo banco de dados para balancear a carga. Neste exemplo a informação a informação do Master é replicada. O acesso é total é só no srv master.

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад +1

      opa, você pode configurar um pgpool para atualizar como um proxy entre sua aplicação e os bancos de dados e ele faz esse papel de load balance da conexões.

  • @HudsonVentura
    @HudsonVentura 8 месяцев назад +1

    Patrick, excelente didática e um vídeo de conteúdo Premium. Parabens! Dúvida: existe uma maneira de transformar a minha(s) replica(s) em um banco de escrita, e que todos os nós funcione com comunicação bidirecional (tanto escrita como leitura para ambos os sentidos main->replica / replica->main)? Obrigado!

    • @denernun
      @denernun 5 месяцев назад

      Estou com esse problema, e a maioria dos vídeos é sobre isso de backup, eu quero algo útil ! Tenho 7 lojas e o servidor master é na cloud, como deixar todo mundo sincronizado e cada loja tem seu servidor local e vai usar esse servidor como o master da loja....acho que isso é o básico kkk

  • @marcelomsmms
    @marcelomsmms Год назад

    Muito bom, obrigado!

  • @talyssonsilva7520
    @talyssonsilva7520 Год назад +1

    muito bom, gostei, continue assim ótima didática. onde está o link dos arquivos que voce disse no video !?

  • @NieltonMoraes
    @NieltonMoraes Год назад

    Patrick, estou precisando aprender a configurar o failover com o pgpool para manter a alta disponibilidade de duas instancias postgis usando o docker. Com seu vídeo eu consegui realizar a replicação com sucesso. Teria um tutorial ensinando? Agradeço desde já. Obrigado

  • @helenasouza-e3m
    @helenasouza-e3m Год назад

    muito bom !

  • @d2vidguedes
    @d2vidguedes 7 месяцев назад

    Excelente explicação! Conteúdo muito bom. Uma dúvida a respeito, é possível realizar a replicação de uma única tabela para outra base?

  • @klebersm
    @klebersm 4 месяца назад

    👏👏👏👏

  • @marcionascimento3846
    @marcionascimento3846 8 месяцев назад

    Muito bom!

  • @reginaldomartins3546
    @reginaldomartins3546 Год назад +2

    Muito bom o Vídeo!! mais fiquei com uma duvida, como monitorar no dia a dia se a replicação esta ok ou se ocorreu algum problema? aproveitando, com essa mesma configuração posso colocar mais de um slave ou tem algo mais a configurar?

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад

      fala ai amigo, tudo beleza? então, hoje eu monitoro as vm's apenas, isso através do zabbix, claro que isso não garante que a replicação esteja funcionando, mas parto do principio que se configurei tudo certo, e ambos (master e replicas) estão conversando só irão parar de funcionar se acontecer alguma interrupção, geralmente a nível de VM, mas eventuamente dou uma olhada de forma manual nos logs. Sobre sua segunda pergunta não tem limite de replicas, a configuração é a mesma para qualquer replica, talvez o limite é a quantidade de slot que você definir no master, bem como recursos de infra.
      Enfim, espero ter ajudado, abraços.

  • @antonioalexandre9563
    @antonioalexandre9563 Год назад

    Muito boa suas aulas mas eu gostaria de saber se tem com fazer uma replicação em ambiente Windows com PotgresSQL para backup

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад

      Em teoria sim, creio que as configurações do postgres são iguais para qualquer plataforma

  • @mkevison
    @mkevison Год назад +1

    Muito bom o vídeo Patrick! Me tira uma duvida, essa replicação é assincrona ou sincrona?

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад +1

      Por padrão é assíncrona (podendo configurar para síncrono), porém o atraso da configuração assíncrona é quase imperceptível se ambos as bases estiverem na mesma rede.

  • @badwolfrfl
    @badwolfrfl 2 года назад +2

    @Patrick Muniz, eu gostaria de saber se consigo fazer replicação, no caso para uma migração com uma versão diferente no PostgreSQL? Exemplo, meu master e slave atual está na versão 10 e, crio um novo slave com a versão 13. Ele replicaria?

    • @patrickmuniz7878
      @patrickmuniz7878  2 года назад

      Olá Rafael, obrigado pelo comentário, na documentação atual do postgres tem sim a citação dessa possibilidade, mas confesso que nunca utilizei, valeria uma tentativa em um ambiente de testes, talvez migrar do 10 para 13 seria muito abrupto, mas migrar para 11 depois 12 e por fim para 13 via replication você teria mais chances de sucesso.
      Na documentação na sessão 19.6.3 fala sobre o assunto, segue o link: www.postgresql.org/docs/14/upgrading.html
      Por fim, boa sorte e sucesso.

    • @badwolfrfl
      @badwolfrfl 2 года назад

      @@patrickmuniz7878 muito obrigado pela atenção. PostgreSQL, tem estado em alta e, estou certo que seu conhecimento ajudará demais, aos que como eu, estão iniciando com essa engine. Fica a dica, faz um curso na Udemy de administração, com replicação entre versões, pq não tem isso não viu

    • @jeanpierremonteiroqueiroz6310
      @jeanpierremonteiroqueiroz6310 Год назад +1

      Boa noite Rafael,tudo bom ? A resposta correta é não,no video ele usa replicação fisica e para esse recurso é comendado que você utilize a mesma versão majoritária do postgresql ,mesmo S.O e o mesmo FS ( Replicação Fisíca é feita bloco a bloco,por isso precisa ter o mesmo ambiente).Replicação entre versões diferentes funciona apenas na replicação logica e este recurso esta disponivel a partir da versão 10 do postgres.

  • @patriciaamorim2704
    @patriciaamorim2704 Год назад +1

    Patrick, Otimo video Parabéns! Me tira uma duvida, no caso do master morrer, posso usar a replicação sem problemas? ou tem algum ajuste a ser feito?

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад +1

      Opa, então, basta remover o arquivo standby.signal da raiz da instancia de replicação e reiniciar o banco que ele inicializará como um master.

  • @rcerqueiraleite
    @rcerqueiraleite Год назад

    Existe a possibilidade de fazer a replicação de duas vias, ou seja, um espelhando o outro. Digo isso para caso uma instância caia a outra assuma e depois faça a sincronia com o outro

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад

      opa, o que você precisa é de uma arquitetura que tenha um "proxy" entre os bancos e sua aplicação, fazendo esse fail over em caso de falha.
      O software que pode te auxiliar é o pgpool-II.

  • @caio7520
    @caio7520 2 года назад +1

    Opa Patrick blz ? tutorial incrível meu amigo, mas eu gostaria de fazer uma pergunta, no momento 26:31 você replicou outras instancias do postgresql, eu poderia fazer diferente por exemplo configurar um server master em uma VM e clonar ele assim transformando o clonado em slave?

    • @patrickmuniz7878
      @patrickmuniz7878  2 года назад

      Opa Caio, blz?
      Sua abordagem proposta de clonar uma VM master creio que funcionaria sim, desde que claro fazendo as devidas configurações, na prática o que você deseja é fazer o mesmo trabalho do pg_base_backup só de de outra forma, enfim sugiro realizar o experimento em um ambiente de testes, boa sorte.

  • @celiorubim
    @celiorubim Год назад +1

    Amigo, apenas uma pergunta. Eu preciso ter os S.Os que contem os banco de dados Identicos? ou seja um servidor Ubuntu18.4 no que contem o Postgree como master e outro servidor 18.4 no Slave (backup)? e aproveitando...as versoes do postegree tem que serem identicas pra efetuar a replicação?

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад

      Sobre a primeira pergunta, pode subir o banco de dados em S.O's e versões diferentes. Sobre a segunda pergunta, nos meus testes só consegui replicar na msm versão.

    • @celiorubim
      @celiorubim Год назад

      @@patrickmuniz7878 muito obrigado!!

  • @KuroManX
    @KuroManX Год назад

    sua didática é boa, vc deveria fazer mais vídeos, porém sei que na área de TI ter tempo livre é difícil

  • @Arthurmice
    @Arthurmice Месяц назад

    é possivel o servidor main ser a versao 9.5 e o replication uma versao mais atual ? tipo a 16

  • @hugomesquita6131
    @hugomesquita6131 Год назад

    Quando vou inserir, atualizar ou até deletar alguma informação no banco replication, dar erro de inserção
    Erro SQL [25006]: ERROR: cannot execute INSERT in a read-only transaction
    ERROR: cannot execute INSERT in a read-only transaction
    ERROR: cannot execute INSERT in a read-only transaction
    parece que a replica tá apenas como leitura.
    Como deixar a replica de leitura com permissão de inserir, deletar e atualizar ?

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад

      Hugo, instancia de replicação funciona apenas como leitura, não é permitido fazer escrita.
      Você só consegue fazer operações nele a partir do momento de deixa de ser replica para virar um banco master.
      Se você precisa de uma arquitetura que seja necessário ter 2 ou mais bancos com possibilidade de escrita então você precisa procurar por banco "multi master", que não é o caso desse video, espero ter esclarecido.

  • @leandrocapraracosta2520
    @leandrocapraracosta2520 11 месяцев назад

    Fala, Patrick. Beleza? Tenho uma big dúvida. Montei o arquivo docker-compose igual o seu mas os arquivos do postgresql não são copiados para a pasta master. O que eu posso estar fazendo de errado?

    • @jeanvictor7798
      @jeanvictor7798 11 месяцев назад

      também estou com o mesmo problema

    • @leandrocapraracosta2520
      @leandrocapraracosta2520 10 месяцев назад

      @@jeanvictor7798 Na real, os arquivos são copiados para a pasta mas as permissões para essa pasta mudam quando executamos o comando do docker-compose. Com ele rodando, rode um chmod nessa pasta em específico. Você verá os arquivos lá. O chato é que eu tive que rodar o chmod toda vez que executava o docker-compose. Tenta e me avisa.

  • @FelipeLyp
    @FelipeLyp Год назад +1

    Se o servidor primário cair, outros iram assumir?

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад

      não, para ter esse recurso você precisa adicionar uma camada de "Proxy", como a ferramenta pgpool-II.

  • @joaopauloperrotte
    @joaopauloperrotte Год назад +2

    O mais importante não foi feito nem falado, no titulo do video diz redundancia, ta e cadÊ ? se o banco principal cair, o outro assume automaticamente, do jeito q vc fez..nao, e se assumir, quando o master voltar ao ar..vai voltar como slave ? duvido muito , oq vc fez eh muito basico, tem imagens no dockerhub que ja sao pre configuradas pra subir como master e outra slave, a grande questao é fazer o failover..um cair e outra assumir a frente. perdi meu tempo com seu video

    • @patrickmuniz7878
      @patrickmuniz7878  Год назад +2

      Grato pelo feedback. Apenas complemento que redundância não se limita ao formato que você esperava, se o master cair no sentido de perder tudo msm, uma replica pode te salvar como um backup, mas de fato não falei de ferramentas como pg-pool que faz esse switch em caso de queda do principal.

    • @joaopauloperrotte
      @joaopauloperrotte Год назад

      @@patrickmuniz7878 isso que é o que mais falta no youtube sobre esse assunto, alta disponibilidade de banco de dados. tem muita coisa gringa mas nada muito claro, se souber seria bom fazer um video sobre.

    • @Vinaum8
      @Vinaum8 Год назад +1

      @@patrickmuniz7878 Patrick, seu vídeo ficou ótimo, vou dar uma estudada no PG Pool e colocar ele no meu lab para ter o fail over. Thanks!!!