SlideShare uma empresa Scribd logo
Cloud PostgreSQL em alta
performance
15/12/2020
Fábio de Carvalho Vieira
Powered
COMPARAÇÃO
● Downtimes/Oscilações no Deploy
● Downtimes/Oscilações ao reiniciar serviço
● Alto risco de falhas ou sobrecarga na VM
● Dificuldade para escalar
● Modular e Flexível
● Deploy e atualizações independentes
● Mais fácil para escalar e manter
DIAGRAMA
ESCOPO PROJETO - CHECKLIST
★ Qual versão utilizar:
https://www.postgresql.org/about/featurematrix/
★ Qual topologia utilizar ?
★ Utilizar Balanceador ?
★ Otimização com PostgresqlTuner
★ Monitoramento
FOCO NA SOLUÇÃO
1. Tuning do banco de dados
2. Otimização das consultas e monitoramento de queries lentas
3. Escalabilidade dos servidores e infra estrutura
TUNING DO BANCO
1. Uso de memória / buffer / cache
2. Principais variáveis para levar em consideração ao tuning:
shared_buffer, wal_buffers, effective_cache_size, work_mem,
maintenance_work_mem, max_connections,
checkpoints_segments, random_page_cost
3. Utilizando o postgresqltuner (https://github.com/jfcoz/postgresqltuner)
4. Tratar resultados e aplicar configurações
OTIMIZAÇÃO DAS CONSULTAS
● Monitorar consultas lentas e re-escrever ou eliminar
● SLOW QUERIES
● Dicas de como analisar queries lentas:
https://marmelab.com/blog/2019/02/13/how-to-improve-postgres-perfor
mances.html
● Ferramenta auxiliar: http://pgbadger.darold.net
SAVEINCLOUD COM DB ESCALÁVEIS
Vantagens
● Escalabilidade Vertical e Horizontal (assinados automaticamente em
diferentes hardwares físicos)
● Instalação de ambientes complexos em alguns cliques
● Rede Privada de Alta Performance
● Discos SSD Enterprise com RAID 10
● Flexibilidade para contratar mais IOPs, os ambientes iniciam com 1000
IOPs
● Backup Full diário sem custos
AUTOMAÇÃO
➔ Opção de replicação master-slave automático
➔ Para Master-Master opções manuais aqui
NA PRÁTICA - PostgreSQL ESCALÁVEL
Balancer
➔ HA Proxy ou NGINX Balancer
(mais simples)
➔ https://www.pgpool.net
(mais robusto)
➔ Automatic Fail Over
➔ Restart containers de DB
sem downtime
➔ Escalabilidade
Balancer no JDBC
➔ Separar os bancos por vírgula e os parâmetros desejados,
exemplo:
➔ jdbc:postgresql://banco1.saveincloud.com:3433,banco2.saveincloud.com:3433,banco3.saveincloud.com:3433/ac
counting? targetServerType=preferSlave&loadBalanceHosts=true
targetServerType: any: The JDBC driver connects to any database. / master: The JDBC driver only connects to the primary
database. / slave: The JDBC driver only connects to the secondary database. / preferSlave: The JDBC driver connects to the
secondary database in priority. If no secondary database is available, the JDBC driver connects to the primary database.
loadBalanceHosts: specifies whether to randomly connect to the databases. Valid values:
● False: The databases are connected in the sequence specified in the command. This is the default value.
● True: The databases are randomly connected.
Balancer no libpq
➔ Utilizar a biblioteca https://www.postgresql.org/docs/9.5/libpq.html
➔ Detalhes de implementação abaixo:
https://www.postgresql.org/docs/12/libpq-connect.html?spm=a2c6
3.p38356.879954.4.5933696bm4ERNA#LIBPQ-CONNSTRING
Extra
➔ https://bucardo.org/ - Ferramenta com diversas funcionalidades
interessantes
BÔNUS
E-MAIL
TOKEN
www.saveincloud.com.br
suporte@saveincloud.com
OBRIGADO!
Powered

Mais conteúdo relacionado

PDF
Java Escalável e com Alta Disponibilidade na Nuvem
PDF
Cloud Mysql e MariaDB em alta performance
PDF
Escalabilidade e alta disponibilidade no php com nginx
PDF
Análise de Performance do MySQL e MariaDB
PDF
Dicas para Turbinar o servidor de Aplicações JBoss 7
ODP
Performance em Java
PPTX
JBoss-WildFly - Avançado
PDF
PostgreSQL Ha
Java Escalável e com Alta Disponibilidade na Nuvem
Cloud Mysql e MariaDB em alta performance
Escalabilidade e alta disponibilidade no php com nginx
Análise de Performance do MySQL e MariaDB
Dicas para Turbinar o servidor de Aplicações JBoss 7
Performance em Java
JBoss-WildFly - Avançado
PostgreSQL Ha

Mais procurados (20)

PPTX
WildFly Avançado - TDC Floripa 2015
PDF
Clusterização de Aplicações PHP
PDF
Virtualização
PPTX
Django no AWS
PPTX
Arquitetura Web no AWS
PPTX
Palestra FISL 14 JBoss Cluster
PDF
Alta Performance com Java
PDF
03 jax-ws
PDF
Há quanto tempo você não revisa seu ambiente de virtualização de servidores V...
PPTX
Cluster e Alta Disponibilidade na Prática com JBoss AS 7
PPTX
Brutos Framework (Java WEB MVC)
KEY
WordPress MU
PDF
Lançamento KES e Security Center
PDF
JBUG Brasil - Desvendando as features do WildFly.
PPTX
Spring Rest
PDF
Maratona JBoss 2010 - JBoss AS Amazon EC2
ODP
JBoss5 @ FISL
PPTX
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
PDF
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PPT
PHP FrameWARks - CakePHP
WildFly Avançado - TDC Floripa 2015
Clusterização de Aplicações PHP
Virtualização
Django no AWS
Arquitetura Web no AWS
Palestra FISL 14 JBoss Cluster
Alta Performance com Java
03 jax-ws
Há quanto tempo você não revisa seu ambiente de virtualização de servidores V...
Cluster e Alta Disponibilidade na Prática com JBoss AS 7
Brutos Framework (Java WEB MVC)
WordPress MU
Lançamento KES e Security Center
JBUG Brasil - Desvendando as features do WildFly.
Spring Rest
Maratona JBoss 2010 - JBoss AS Amazon EC2
JBoss5 @ FISL
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP FrameWARks - CakePHP
Anúncio

Semelhante a Cloud PostgreSQL em alta performance (20)

PPTX
Apresentação PGDAY - Replicação Nativa - PostgreSQL
PDF
Escalabilidade horizontal com PostgreSQL e Pgpool II
PDF
PostgreSQL - Visão Geral - Pedro Vieira
PPTX
High Avaiability Architeture with Oracle Data Guard Broker
PDF
PostgreSQL Tuning: O elefante mais rápido que um leopardo
ODP
PostgreSQL Transformando um elefante numa manada
PDF
Containers PostgreSQL com a Crunchy Container Suite
PDF
ClusterizaçãO De AplicaçõEs Php
PDF
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
PDF
Mais performance com o MySQL 5.6
PDF
Conceitoseaplicaes
PDF
Design Patterns para Tuning Pentaho com Ctools
PDF
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
PPTX
ProxySQL no MySQL: Apenas um load balancer?
PPTX
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
PPTX
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
PDF
Tuning Apache/MySQL/PHP para desenvolvedores
PDF
Treinamento Data Guard
PPT
Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...
PDF
Oracle e SQL Server na prática mitos, semelhanças e diferenças
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Escalabilidade horizontal com PostgreSQL e Pgpool II
PostgreSQL - Visão Geral - Pedro Vieira
High Avaiability Architeture with Oracle Data Guard Broker
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Transformando um elefante numa manada
Containers PostgreSQL com a Crunchy Container Suite
ClusterizaçãO De AplicaçõEs Php
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Mais performance com o MySQL 5.6
Conceitoseaplicaes
Design Patterns para Tuning Pentaho com Ctools
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
ProxySQL no MySQL: Apenas um load balancer?
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Tuning Apache/MySQL/PHP para desenvolvedores
Treinamento Data Guard
Estudo de Planejamento e Performance na consolidação de CECs Mainframe. Gusta...
Oracle e SQL Server na prática mitos, semelhanças e diferenças
Anúncio

Último (19)

PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Apple Pippin Uma breve introdução. - David Glotz
Custos e liquidação no SAP Transportation Management, TM130 Col18
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
COBITxITIL-Entenda as diferença em uso governança TI
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Aula04-Academia Heri- Tecnologia Geral 2025
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula 18 - Manipulacao De Arquivos python
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Processos na gestão de transportes, TM100 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...

Cloud PostgreSQL em alta performance

  • 1. Cloud PostgreSQL em alta performance 15/12/2020 Fábio de Carvalho Vieira Powered
  • 2. COMPARAÇÃO ● Downtimes/Oscilações no Deploy ● Downtimes/Oscilações ao reiniciar serviço ● Alto risco de falhas ou sobrecarga na VM ● Dificuldade para escalar ● Modular e Flexível ● Deploy e atualizações independentes ● Mais fácil para escalar e manter
  • 4. ESCOPO PROJETO - CHECKLIST ★ Qual versão utilizar: https://www.postgresql.org/about/featurematrix/ ★ Qual topologia utilizar ? ★ Utilizar Balanceador ? ★ Otimização com PostgresqlTuner ★ Monitoramento
  • 5. FOCO NA SOLUÇÃO 1. Tuning do banco de dados 2. Otimização das consultas e monitoramento de queries lentas 3. Escalabilidade dos servidores e infra estrutura
  • 6. TUNING DO BANCO 1. Uso de memória / buffer / cache 2. Principais variáveis para levar em consideração ao tuning: shared_buffer, wal_buffers, effective_cache_size, work_mem, maintenance_work_mem, max_connections, checkpoints_segments, random_page_cost 3. Utilizando o postgresqltuner (https://github.com/jfcoz/postgresqltuner) 4. Tratar resultados e aplicar configurações
  • 7. OTIMIZAÇÃO DAS CONSULTAS ● Monitorar consultas lentas e re-escrever ou eliminar ● SLOW QUERIES ● Dicas de como analisar queries lentas: https://marmelab.com/blog/2019/02/13/how-to-improve-postgres-perfor mances.html ● Ferramenta auxiliar: http://pgbadger.darold.net
  • 8. SAVEINCLOUD COM DB ESCALÁVEIS Vantagens ● Escalabilidade Vertical e Horizontal (assinados automaticamente em diferentes hardwares físicos) ● Instalação de ambientes complexos em alguns cliques ● Rede Privada de Alta Performance ● Discos SSD Enterprise com RAID 10 ● Flexibilidade para contratar mais IOPs, os ambientes iniciam com 1000 IOPs ● Backup Full diário sem custos
  • 9. AUTOMAÇÃO ➔ Opção de replicação master-slave automático ➔ Para Master-Master opções manuais aqui NA PRÁTICA - PostgreSQL ESCALÁVEL
  • 10. Balancer ➔ HA Proxy ou NGINX Balancer (mais simples) ➔ https://www.pgpool.net (mais robusto) ➔ Automatic Fail Over ➔ Restart containers de DB sem downtime ➔ Escalabilidade
  • 11. Balancer no JDBC ➔ Separar os bancos por vírgula e os parâmetros desejados, exemplo: ➔ jdbc:postgresql://banco1.saveincloud.com:3433,banco2.saveincloud.com:3433,banco3.saveincloud.com:3433/ac counting? targetServerType=preferSlave&loadBalanceHosts=true targetServerType: any: The JDBC driver connects to any database. / master: The JDBC driver only connects to the primary database. / slave: The JDBC driver only connects to the secondary database. / preferSlave: The JDBC driver connects to the secondary database in priority. If no secondary database is available, the JDBC driver connects to the primary database. loadBalanceHosts: specifies whether to randomly connect to the databases. Valid values: ● False: The databases are connected in the sequence specified in the command. This is the default value. ● True: The databases are randomly connected.
  • 12. Balancer no libpq ➔ Utilizar a biblioteca https://www.postgresql.org/docs/9.5/libpq.html ➔ Detalhes de implementação abaixo: https://www.postgresql.org/docs/12/libpq-connect.html?spm=a2c6 3.p38356.879954.4.5933696bm4ERNA#LIBPQ-CONNSTRING
  • 13. Extra ➔ https://bucardo.org/ - Ferramenta com diversas funcionalidades interessantes
  • 16. TOKEN