Re: [pgbr-geral] Escalabilidade horizontal
Qual a porcentagem de escrita que o sistema realiza no postgresql ?! Quantas transações por segundo ? O que consome tanta cpu e memória são os consultas ou inserção de dados ?! Quantas conexões estão abertas no postgresql ?! Se for possível configurar a aplicação, não da pra usufruir dos recursos de um simples slave assicrono ?! Realizar consultas no slave , relatórios e etc. Caso isso seja o motivo de tanto consulmo de cpu/memória. No caso de muitas conexões uso do pgbouncer não resolveria ?! Baseado no que Leandro disse, talvez uma solução simples seja o suficiente. Em 15 de fevereiro de 2017 15:38, Luiz Carlos L. Nogueira Jr. < lcnogueir...@gmail.com> escreveu: > O que quero resolver é problema de CPU sem mexer na aplicação, pois vem de > terceiros, > Hoje tenho 36 CPUS e o Load Average e CPU pipocam, travando o servidor de > banco. > Eu sei que o armazenamento do RAC Oracle é centralizado (temos essa > solução também implementada para outras aplicações) e sei que o postgres > não tem essa estruturade armazenamento centralizado. > Por isso comecei jogando a possibilidade de um master-master síncrono, > pois é o que ainda vejo como uma possibilidade com o postgres > > > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- foobar ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
Le mer. 15 févr. 2017 à 16:38, Luiz Carlos L. Nogueira Jr.a écrit : O que quero resolver é problema de CPU sem mexer na aplicação, pois vem de terceiros, Tem aplicação que não tem como resolver mesmo, só mandando refazer. Situação típica é a dum sistema que funciona numa escala menor, e que abre o bico ao tentar crescer. Amiúde o consumo de recursos cresce exponencialmente com fatores como cardinalidade das relações (tamanho das tabelas), concorrência O SQL não implementa toda a independência de dados proposta pelo modelo relacional, portanto os ajustes no modelo de dados, físico e lógico, são relativamente restritos mas podem ser úteis: índices, chaves, restrições de integridade (não apenas as referenciais) Hoje tenho 36 CPUs 36 chips ou 36 núcleos? e o Load Average e CPU pipocam, travando o servidor de banco. Mas de que processos? Faz muita diferença quem consome esses recursos: aplicações (PLs como PL/pgSQL, PL/Java ) ou acesso a dados, por exemplo. Eu sei que o armazenamento do RAC Oracle é centralizado (temos essa solução também implementada para outras aplicações) e sei que o postgres não tem essa estruturade armazenamento centralizado. Mas já olhaste o XL? Acho que já te propuseram isso duas vezes… Por isso comecei jogando a possibilidade de um master-master síncrono, pois é o que ainda vejo como uma possibilidade com o postgres Isso é um problema enorme na prática, a menos que você consiga particionar os dados. O que geralmente só é viável se a aplicação é tua. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT−3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
O que quero resolver é problema de CPU sem mexer na aplicação, pois vem de terceiros, Hoje tenho 36 CPUS e o Load Average e CPU pipocam, travando o servidor de banco. Eu sei que o armazenamento do RAC Oracle é centralizado (temos essa solução também implementada para outras aplicações) e sei que o postgres não tem essa estruturade armazenamento centralizado. Por isso comecei jogando a possibilidade de um master-master síncrono, pois é o que ainda vejo como uma possibilidade com o postgres ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
Le mer. 15 févr. 2017 à 16:16, Luiz Carlos L. Nogueira Jr.a écrit : Gostaria que minha aplicação apontasse pra um IP/porta e o Cluster fizesse um balanceamento de carga e distribuisse entre os servidores (nós) onde estão os bancos . Quando os servidores de banco estivessem topados, poderia colocar mais uma máquina para distribuir melhor o processamento. Seria uma solução parecida com que a Oracle oferece (RAC) A aplicação abstrairia de como o banco está (standalone ou vários nós de banco). o importante pra ela seria um IP/Porta para conexão. Luís, esse é o problema do fechamento cognitivo precoce. Trocando em miúdos, você diz o que quer fazer, e explica os porquês genericamente; não diz exatamente os detalhes de que problemas quer resolver, e porquê descartou outras alternativas. Por exemplo, o Oracle RAC é conhecido por causar mais problemas do que resolve na grande maioria dos casos; casos em que as soluções verdadeiras estão noutros aspectos do sistema, desde modelagem de dados até gestão de risco, passando por perfis de execução de aplicação, análise de planos de execução, planejamento de capacidade, monitoramento Infelizmente, a Oracle e vários jornalistas especializados, para não falar de bloqueiros e pitaqueiros em geral, vendem determinadas arquiteturas de sistema como panacéias, o que engana muitos usuários a crerem que basta comprar ou implementar algo, sem jamais entender requisitos, situações, limitações, funcionamento Veja também que o RAC não se encaixa perfeitamente em tua descrição; o RAC trabalha com E/S centralizado, sendo que geralmente o gargalo é justamente E/S. Ou seja, o RAC não é verdadeiramente distribuído, no sentido de que não particiona nem replica informações, mas depende de uma única unidade de armazenamento centralizada. Em outras palavras, o RAC será útil mais quando o gargalo for processamento (CPU) ou memória, casos em que geralmente há soluções mais baratas e mais simples, desde otimização do modelo e dos programas aplicativos até servidores mais parrudos; e, sendo mais simples, mais confiáveis. Na prática, nunca vi uma questão dessas se resolver por lista de discussões; sempre é algo que se resolve ou por aprendizado e experiência do usuário, que eventualmente aprende a analisar o sistema como um todo (desde infraestutura até interface de usuário), ou mais freqüentemene com consultoria local, em que o prestador de serviço tem condições de levantar todas as informações necessárias. A vantagem do PostgreSQL especificamente, e de sistemas livres em geral, é termos implementação livre ou pelo menos gratuita de várias dessas ‘soluções’ comumente propostas, o que permite ao usuário instalá-las e aprender ‘chutando os pneus‘, o que não é ideal mas é sempre um aprendizado útil, e por vezes necessário; nesse sentido, veja se o PosgreSQL XL não é o que você queria. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (61) 9 9302 2691 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT−3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
Flávio, Gostaria que minha aplicação apontasse pra um IP/porta e o Cluster fizesse um balanceamento de carga e distribuisse entre os servidores (nós) onde estão os bancos . Quando os servidores de banco estivessem topados, poderia colocar mais uma máquina para distribuir melhor o processamento. Seria uma solução parecida com que a Oracle oferece (RAC) A aplicação abstrairia de como o banco está (standalone ou vários nós de banco). o importante pra ela seria um IP/Porta para conexão. Acho que ficou mais claro agora ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
Em qua, 15 de fev de 2017 18:27, Luiz Carlos L. Nogueira Jr. < lcnogueir...@gmail.com> escreveu: > Existe também o Bucardo. > > Mas não teria que modificar a aplicação, fora ser assincrona? > Depende. Não existe solução mágica para escalabilidade horizontal, você precisa expor o problema na sua pergunta, não a solução que "acha" que resolve. Em tempo, escalabilidade horizontal síncrona é sempre negativa, devido a latência de rede introduzida. Você pode fazer sharding com PostgreSQL fdw a partir da versão 9.6 Você pode considerar o PostgresXL. Sempre, em todo caso, depende do que você quer fazer, o seu problema real. Em 99℅ dos casos em que essa pergunta aparece, ninguém expõe. []S Flavio Gurgel > > ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
Existe também o Bucardo. Mas não teria que modificar a aplicação, fora ser assincrona? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
Em 15 de fevereiro de 2017 09:40, Luiz Carlos L. Nogueira Jr.< lcnogueir...@gmail.com> escreveu: Cleiton, Não, é master x master mesmo (escrita em ambos) ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Existe também o Bucardo. http://www.viniciusvale.com/bucardo-replicacao-master-master/ https://bucardo.org/wiki/Main_Page Att, Vinicius Vale Em qua, 15 de fev de 2017 às 10:05, Saulo Tadeuescreveu: > Existe um Postgres-BDR da 2ndquadrant, veja se te atende! > > https://2ndquadrant.com/en/resources/bdr/ > > Caso tenha informações de quem utiliza, me avisa, pois tenho interesse em > saber qual empresa utiliza esse postgres-BDR. > > Um tempo atrás entrei em contato com o suporte deles, mas disseram que as > informações eram confidencias. > > Saulo Tadeu > > Em 15 de fevereiro de 2017 09:40, Luiz Carlos L. Nogueira Jr. < > lcnogueir...@gmail.com> escreveu: > > Cleiton, > > Não, é master x master mesmo (escrita em ambos) > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
Existe um Postgres-BDR da 2ndquadrant, veja se te atende! https://2ndquadrant.com/en/resources/bdr/ Caso tenha informações de quem utiliza, me avisa, pois tenho interesse em saber qual empresa utiliza esse postgres-BDR. Um tempo atrás entrei em contato com o suporte deles, mas disseram que as informações eram confidencias. Saulo Tadeu Em 15 de fevereiro de 2017 09:40, Luiz Carlos L. Nogueira Jr. < lcnogueir...@gmail.com> escreveu: > Cleiton, > > Não, é master x master mesmo (escrita em ambos) > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
Cleiton, Não, é master x master mesmo (escrita em ambos) ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Escalabilidade horizontal
2017-02-14 22:57 GMT-02:00 Luiz Carlos L. Nogueira Jr. < lcnogueir...@gmail.com>: > Existe alguma solução de escalabilidade horizontal sem que tenhamos de > alterar o código fonte da aplicação? Ficando transparente feito o pgbouncer. > Se for somente leitura, você pode utilizar o pgPool [1]. [1] - http://www.pgpool.net/mediawiki/index.php/Main_Page > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral