31 jan
Postado em BDextra, MySQL, PostgresSQL
Com o novo modelo de replicação do PostgreSQL, torna-se viável a utilização de balanceamento de carga nas operações de leitura, uma vez que os servidores de contingência permanecem em modo read-only (Hot Standby). Até a versão 8.4, o balanceamento de carga só era possÃvel se utilizado juntamente com ferramentas de replicação de terceiros, por exemplo Slony.
Apesar de ser uma replicação Master/Slave assÃncrona, a funcionalidade Streaming Replication do PostgreSQL 9.0 garante uma replicação consistente e com atraso praticamente imperceptÃvel para o usuário final. Este comportamento viabiliza a utilização dos servidores de contingência, denominados slaves, como fonte de dados atualizada, reduzindo a carga de leitura sobre o servidor master.
A ferramenta Pgpool-II possui a funcionalidade de balanceamento de carga, que visa distribuir operações de leitura entre os servidores envolvidos. Pensando na popularidade da replicação do PostgreSQL 9.0, o grupo de desenvolvedores do Pgpool-II acrescentou algumas funcionalidades especÃficas de integração com a nova versão do PostgreSQL, lançando a versão 3.0 do Pgpool-II.
A seguir um cenário possÃvel envolvendo PostgreSQL 9.0 e Pgpool-II 3.0:
Pgpool-II é um software intermediário(middleware) entre a aplicação(frontend) e o servidor PostgreSQL(backend). Age de forma transparente e suporta até 128 nós de replicação. Pode-se considerar as seguintes funcionalidades principais:
Pooling de conexões (Aglomerador de conexões)
Fonte: Pgpool Global Development Group
As conexões são fechadas entre o usuário e o Pgpool-II. O usuário devolve a conexão ao pool, mas as mesmas persistem no servidor de banco de dados para reutilização:
Fonte: Pgpool Global Development Group
Replicação
Permite o envio de todas as operações para todos os servidores PostgreSQL envolvidos.
Balanceamento de carga
Distribui consultas de forma aleatória entre os servidores PostgreSQL envolvidos.
Fonte: Pgpool Global Development Group
Consultas paralelas
Particiona tabelas entre os servidores envolvidos, possibilitando a execução de consultas ao mesmo tempo sobre conjuntos diferentes de dados.A funcionalidade de replicação do Pgpool-II não oferece a consistência necessária para a maioria das aplicações. O modelo de replicação é conhecido como Dual-master, sendo baseado em comandos. Desta forma os comandos são executados em cada servidor, tornando possÃvel a existência de bases de dados com informações diferentes quando utilizadas funções que retiram informações do servidor. Por exemplo: now() e random().
A paralelização de consultas não é o foco deste artigo, mais informações sobre estas funcionalidades estão disponÃveis no site do projeto http://pgpool.projects.postgresql.org/.
Para o ambiente em questão utiliza-se apenas as füncionalidades de pool de conexões e balanceamento de carga.
A versão 3.0 do Pgpool-II provê a este ambiente, as seguintes caracterÃsticas:
Para que o próprio servidor do Pgpool-II não seja um ponto único de falha, pode-se configurar uma réplica do servidor. O script pgpool-HA é um recurso do software Heartbeat que pode garantir o serviço do Pgpool-II sempre ativo independente do servidor.
A ferramenta web Pgpooladmin pode auxiliar na administração das funcionalidades do Pgpool-II. Instalada no próprio servidor do Pgpool-II ela facilita tarefas de monitoramento, administração do processo e alterações na configuração. Estas ferramentas auxiliares estão disponÃveis no site do projeto http://pgfoundry.org/projects/pgpool/.
A análise de ferramentas de alta disponilidade e desempenho para servidores PostgreSQL é o foco do Treinamento PostgreSQL Alta disponibilidade, promovido pela Dextra Sistemas. Este e outros ambientes são configurados pelos próprios alunos durante treinamento, visando capacitar o aluno na escolha e implantação da tecnologia adequada em ambientes corporativos.
A Dextra oferece também serviços de consultoria e suporte em várias modalidades, incluindo suporte 24×7, garantindo o desempenho e a alta disponibilidade exigida em servidores de banco de dados.
RSS dos comentários deste post · TrackBack URI
Comente