SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
PostgreSQL
no
Tribunal de Justiça
do Paraná
PGDay Campinas 2013
O que é o TJPR
Números da TI no TJPR
Bancos de Dados
PostgreSQL
Projudi
Ferramentas
O que é o Tribunal de Justiça do Estado do Paraná?
O que é o Tribunal de Justiça do Estado do Paraná?
O que é o Tribunal de Justiça do Estado do Paraná?
O que é o Tribunal de Justiça do Estado do Paraná?
Uma organização com distribuição
física em 160 escritórios
Os clientes são potencialmente toda a população
do Estado do Paraná: 10 milhões de pessoas
12 mil funcionários
3,1 milhões de processos ativos
Infraestrutura de TI do TJPR
22 mil contas de usuários de rede
14 mil computadores
20 mil caixas de correio
200 funcionários de TI
2 Data Centers
(1 sala cofre principal e 1 site backup reduzido)
Infraestrutura de TI do TJPR
28 servidores físicos x86
404 core
3 TB RAM
373 servidores virtuais
(Linux/FreeBSD/Windows)
Infraestrutura de TI do TJPR
28 servidores físicos x86
404 core
3 TB RAM
373 servidores virtuais
(Linux/FreeBSD/Windows)
2 servidores físicos Itanium
2 servidores físicos RISC
18 core
72 GB RAM
6 servidores virtuais HP-UX
(VPAR)
Infraestrutura de TI do TJPR
28 servidores físicos x86
404 core
3 TB RAM
373 servidores virtuais
(Linux/FreeBSD/Windows)
5 novos servidores físicos
x86 de 80 core
400 core
5 TB RAM
2 servidores físicos Itanium
2 servidores físicos RISC
18 core
72 GB RAM
6 servidores virtuais HP-UX
(VPAR)
Infraestrutura de TI do TJPR
28 servidores físicos x86
404 core
3 TB RAM
373 servidores virtuais
(Linux/FreeBSD/Windows)
5 novos servidores físicos
x86 de 80 core
400 core
5 TB RAM
2 storages EMC com 270 TB
1 storage HP com 40 TB
1 storage Hitachi com 20 TB
2 servidores físicos Itanium
2 servidores físicos RISC
18 core
72 GB RAM
6 servidores virtuais HP-UX
(VPAR)
08min
Bancos de Dados no TJPR
Bancos de Dados no TJPR
Banco oficial utilizado para
desenvolvimento de sistemas.
Dezenas de aplicações.
Bancos de Dados no TJPR
Bancos de Dados no TJPR
Utilizado em 2 sistemas
importantes desenvolvidos e
mantidos por terceiros.
Bancos de Dados no TJPR
Bancos de Dados no TJPR
Sistemas legados,
principalmente em MUMPS
Bancos de Dados no TJPR
Bancos de Dados no TJPR
Apenas com serviços
como antivírus, vmware, ...
Bancos de Dados no TJPR
Bancos de Dados no TJPR
Apenas 1 sistema mantido
pelo CNJ
12min
PostgreSQL no TJPR
2009
Portal
eDJ – Diário da Justiça Eletrônico
Athos – Edição de Atos
Domus – Estrutura Organizacional
1 servidor PostgreSQL 8.3
1 servidor réplica standby por log shipping
PostgreSQL no TJPR
2010
SICC – Sistema de Informações Criminais
Migração do Caché para PostgreSQL
Aplicação Desktop - 2 camadas
1,5 mil conexões
1 servidor de produção no PostgreSQL 8.3
PostgreSQL no TJPR
2011/1ºSem
Projudi – Processo Eletrônico
Migração do MySQL para PostgreSQL
Aplicação Web Java
1 Servidor de Aplicação
2,5 mil usuários na aplicação
400 conexões com o banco
1 servidor de produção no PostgreSQL 8.3
PostgreSQL no TJPR
2011/2ºSem
Projudi – Processo Eletrônico
Problemas de desempenho
2 Servidores de Aplicação
2,8 mil usuários na aplicação
600 conexões com o banco
Migração para PostgreSQL 9 e Hot Standby de leitura
Tipo Versão cpu memória base TPS
Portal
VM 9.1 4 08 GB 20 GB 270
VM 9.1 4 08 GB 20 GB 480
Diário da Justiça
Athos
VM 8.3 12 32 GB 400 GB 80
VM 8.3 2 08 GB 400 GB -
SICC VM 8.3 6 32 GB 200 GB 1000
CartorioWin VM 8.3 4 32 GB 80 GB -
Diversos Sistemas
Judiciais
VM 9.1 8 24 GB 300 GB 560
VM 9.1 2 08 GB 300 GB 0
Diversos Sistemas
Administrativos
VM 9.1 4 16 GB 180 GB 240
VM 9.1 2 08 GB 180 GB 0
Inscrições Concursos VM 9.1 4 08 GB 10 GB -
Projudi
HW 9.2 24 256 GB 160 GB 8100
HW 9.2 24 256 GB 160 GB 1000
VM 9.2 8 32 GB 160 GB -
VM 9.1 2 08 GB 220 GB -
PostgreSQL no TJPR
PostgreSQL no TJPR – Uma abordagem de distribuição física
Hardware ou VM
Data Center 1
Storage 1
Servidor Principal
Discos de dados e log
PostgreSQL no TJPR – Uma abordagem de distribuição física
Hardware ou VM
Data Center 1
Storage 1
Data Center 2
Storage 2
Servidor Principal Servidor Réplica
Discos de dados e log Discos de dados e log
PostgreSQL no TJPR – Uma abordagem de distribuição física
Hardware ou VM
Data Center 1
Storage 1
Data Center 2
Storage 2
Servidor Principal Servidor RéplicaStreaming Replication
Discos de dados e log Discos de dados e log
PostgreSQL no TJPR – Uma abordagem de distribuição física
Hardware ou VM
Data Center 1
Storage 1
Data Center 2
Storage 2
Servidor Principal Servidor RéplicaStreaming Replication
Discos de dados e log Discos de dados e log
Discos de backups
PostgreSQL no TJPR – Uma abordagem de distribuição física
Hardware ou VM
Data Center 1
Storage 1
Data Center 2
Storage 2
Servidor Principal Servidor RéplicaStreaming Replication
Discos de dados e log Discos de dados e log
Discos de backups Discos de backups
20min
Projudi – Processo Eletrônico
PROJUDI
O processo judicial digital ou processo eletrônico,
reproduz todo o procedimento judicial em
meio eletrônico
Utilizado através da Internet, permite a completa
substituição do papel
Inicialmente disponibilizado pelo CNJ, o Projudi foi
adotado pelo TJPR como um projeto interno, hoje
serve de modelo para outros estados
Projudi – Números
Mais de 70% de novos
processos são eletrônicos
Mais de 2 milhões de processos
cadastrados
900 mil processos ativos
Em breve, abrangerá 2º Grau e Criminal,
chegando a 100% de novos processos em meio
eletrônico na Justiça Estadual
Projudi – Números
+21.700 Magistrados, servidores, procuradores,
promotores, entidades de apoio
+43.600 Advogados
+45.300 Partes com senha de acesso
TOTAL
+110.600 Usuários
Projudi – Números
+12 mil usuários simultâneos
25min
Projudi – Infraestrutura
Advogados /
Assessores e
Partes
Demais
Servidores
ACE (Cisco)
(Tomcats)
PostgreSQL
Principal
1
4
2
3
5
Consulta Pública
População
Projudi
(Glassfish)
6
Réplica
Réplica
Réplica
NAS
Internet
Projudi – Infraestrutura
Data Center 1
Principal 1
NAS
Réplica 2
Data Center 2
Réplica 3
(VM)
Auditoria
(VM)
Aplicação Projudi
11 TB de
Documentos
Virtual IP 3 Virtual IP 2DNS
Projudi – Números do Banco
Principal
+200 milhões de transações dia
+8000 TPS
(transações por segundo)
no horário de pico de 14h as 17h
+1000 conexões no banco principal
e 1000 nas duas réplicas
+25 milhões de registros escritos
por dia
30min
Ferramentas
Cacti
pgBadger
Nagios
Ferramentas pg_Activity
PostgreSQL no TJPR - Lições
Pool de conexões com pgBouncer
Pequeno, simples e extremamente eficiente
Conexões no SICC eram quase 2000, consumindo
muita memória e causando swap
Com o pgBouncer conexões cairam para cerca de 300
Foi possível inclusive baixar a memória do servidor
PostgreSQL no TJPR - Lições
Hot StandBy - Uso da réplica para leitura
Uso do Projudi crescendo rapidamente exaurindo o
servidor principal
Criação de uma réplica permitindo a aplicação balancear
leitura estabilizou o sistema
Experiência com configurações de valores de streaming
delay
PostgreSQL no TJPR - Lições
Virtualização
Maneira fácil de conseguir disponibilidade e
escalabilidade vertical
Entender demandas de desempenho e viabilidade da
virtualização
Uso de discos RAW (não VMFS no caso da VMWare)
35min
PostgreSQL no TJPR – Melhorias Desejadas
Diagnóstico
Ferramentas para diagnosticar em tempo
real a saúde do banco e do servidor.
Escalabilidade
Um balanceador de carga de leitura, leve, feito para
trabalhar especificamente com a replicação nativa
do PostgreSQL
Alta Disponibilidade
Ferramentas simples para failover transparente
PostgreSQL no TJPR - Futuro
Data Center 1
Principal 1
(HW)
Réplica 2
(HW)
Data Center 2
Aplicação Projudi
Implantar Replicação Síncrona no Projudi (curto prazo)
Réplica 3
(HW)
Replicação
Síncrona
Replicação
em Cascata
Balanceamento
pela Aplicação
PostgreSQL no TJPR - Futuro
Escalabilidade e Alta Disponibilidade (médio prazo)
Balancear carga entre réplicas, através de ferramenta
terceira ou adaptação de framework interno, permitindo
crescer em número de máquinas menores e virtualizadas
Implantar failover automático e transparente
Cluster Master – Master (diversos nós de escrita)
PostgreSQL no TJPR
Dúvidas?
Obrigado!
Divisão de Infraestrutura de Software – TJPR
Seção de Banco de Dados
Fabio Caiut infrabancos@tjpr.jus.br

Mais conteúdo relacionado

Destaque

PostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados UniversoPostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados Universoelliando dias
 
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.0Pgday 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.0Marcos William Valentini
 
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...PGDay Campinas
 
PGDay Campinas 2013 - Postgres XC @ Cloud
PGDay Campinas 2013 - Postgres XC @ CloudPGDay Campinas 2013 - Postgres XC @ Cloud
PGDay Campinas 2013 - Postgres XC @ CloudPGDay Campinas
 
PGDay Campinas 2013 - Mineração de Dados com MADlib
PGDay Campinas 2013 - Mineração de Dados com MADlibPGDay Campinas 2013 - Mineração de Dados com MADlib
PGDay Campinas 2013 - Mineração de Dados com MADlibPGDay Campinas
 
PGDay Campinas 2013 - Window Function e CTE – Surpreendente
PGDay Campinas 2013 - Window Function e CTE – SurpreendentePGDay Campinas 2013 - Window Function e CTE – Surpreendente
PGDay Campinas 2013 - Window Function e CTE – SurpreendentePGDay Campinas
 
PGAnalytics - Facilitando sua vida do DBA
PGAnalytics - Facilitando sua vida do DBAPGAnalytics - Facilitando sua vida do DBA
PGAnalytics - Facilitando sua vida do DBADextra
 
Gerenciamento de Backup e Recovery com o Barman
Gerenciamento de Backup e Recovery com o BarmanGerenciamento de Backup e Recovery com o Barman
Gerenciamento de Backup e Recovery com o BarmanCaio Oliveira
 
Jaime Casanova - Domando a la bestia Replicación
Jaime Casanova - Domando a la bestia ReplicaciónJaime Casanova - Domando a la bestia Replicación
Jaime Casanova - Domando a la bestia ReplicaciónPGDay Campinas
 
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)Fabrízio Mello
 
Palestra Diogo Rubert - PGDAY Campinas 2015
Palestra Diogo Rubert - PGDAY Campinas 2015Palestra Diogo Rubert - PGDAY Campinas 2015
Palestra Diogo Rubert - PGDAY Campinas 2015Diogo L. V. G. Rubert
 
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...PGDay Campinas
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
 
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas
 
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textualPGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textualPGDay Campinas
 
DevOps & PostgreSQL - Provisionamento Ágil
DevOps & PostgreSQL - Provisionamento ÁgilDevOps & PostgreSQL - Provisionamento Ágil
DevOps & PostgreSQL - Provisionamento Ágilinstructbr
 
Análise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQLAnálise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQLMatheus de Oliveira
 

Destaque (20)

PostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados UniversoPostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados Universo
 
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.0Pgday 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
 
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
 
PGDay Campinas 2013 - Postgres XC @ Cloud
PGDay Campinas 2013 - Postgres XC @ CloudPGDay Campinas 2013 - Postgres XC @ Cloud
PGDay Campinas 2013 - Postgres XC @ Cloud
 
Arquivos No Banco
Arquivos No BancoArquivos No Banco
Arquivos No Banco
 
Pgday campinas 2015
Pgday campinas 2015Pgday campinas 2015
Pgday campinas 2015
 
PGDay Campinas 2013 - Mineração de Dados com MADlib
PGDay Campinas 2013 - Mineração de Dados com MADlibPGDay Campinas 2013 - Mineração de Dados com MADlib
PGDay Campinas 2013 - Mineração de Dados com MADlib
 
PGDay Campinas 2013 - Window Function e CTE – Surpreendente
PGDay Campinas 2013 - Window Function e CTE – SurpreendentePGDay Campinas 2013 - Window Function e CTE – Surpreendente
PGDay Campinas 2013 - Window Function e CTE – Surpreendente
 
PGAnalytics - Facilitando sua vida do DBA
PGAnalytics - Facilitando sua vida do DBAPGAnalytics - Facilitando sua vida do DBA
PGAnalytics - Facilitando sua vida do DBA
 
Gerenciamento de Backup e Recovery com o Barman
Gerenciamento de Backup e Recovery com o BarmanGerenciamento de Backup e Recovery com o Barman
Gerenciamento de Backup e Recovery com o Barman
 
Jaime Casanova - Domando a la bestia Replicación
Jaime Casanova - Domando a la bestia ReplicaciónJaime Casanova - Domando a la bestia Replicación
Jaime Casanova - Domando a la bestia Replicación
 
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
 
Palestra Diogo Rubert - PGDAY Campinas 2015
Palestra Diogo Rubert - PGDAY Campinas 2015Palestra Diogo Rubert - PGDAY Campinas 2015
Palestra Diogo Rubert - PGDAY Campinas 2015
 
pgDay Campinas – 2015
pgDay Campinas – 2015pgDay Campinas – 2015
pgDay Campinas – 2015
 
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
 
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textualPGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
 
DevOps & PostgreSQL - Provisionamento Ágil
DevOps & PostgreSQL - Provisionamento ÁgilDevOps & PostgreSQL - Provisionamento Ágil
DevOps & PostgreSQL - Provisionamento Ágil
 
Análise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQLAnálise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQL
 

Semelhante a PGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do Paraná

Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e softwarePaulo Fonseca
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...iMasters
 
Petic Emgetis Final
Petic Emgetis FinalPetic Emgetis Final
Petic Emgetis Finalnetimba
 
Paula rodrigues - tv gazeta
Paula rodrigues - tv gazetaPaula rodrigues - tv gazeta
Paula rodrigues - tv gazetaFIAT/IFTA
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Affinitas GmbH
 
Petic Emgetis
Petic EmgetisPetic Emgetis
Petic Emgetisnetimba
 
Forense Computacional
Forense ComputacionalForense Computacional
Forense Computacionalrenanwb
 
TradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da LatenciaTradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da LatenciaJose Ricardo Maia Moraes
 
Paula Rodrigues - apresentação tv gazeta
Paula Rodrigues - apresentação tv gazetaPaula Rodrigues - apresentação tv gazeta
Paula Rodrigues - apresentação tv gazetaFIAT/IFTA
 
Servidores Virtuais
Servidores VirtuaisServidores Virtuais
Servidores VirtuaisDiego Zilli
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open sourceMatheus Espanhol
 
Apresentacao ENOS 2007
Apresentacao ENOS 2007Apresentacao ENOS 2007
Apresentacao ENOS 2007Bruno Santos
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoFabio Telles Rodriguez
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Vtex - Splunk live! 2014 São Paulo
Vtex - Splunk live! 2014 São Paulo Vtex - Splunk live! 2014 São Paulo
Vtex - Splunk live! 2014 São Paulo Splunk
 
VTEX @ Splunk Live! São Paulo
VTEX @ Splunk Live! São PauloVTEX @ Splunk Live! São Paulo
VTEX @ Splunk Live! São PauloFábio Caldas
 
Introdução a Informatica
Introdução a InformaticaIntrodução a Informatica
Introdução a InformaticaKeny51
 
IntroducaoInformaticanovoarquivo2222.ppt
IntroducaoInformaticanovoarquivo2222.pptIntroducaoInformaticanovoarquivo2222.ppt
IntroducaoInformaticanovoarquivo2222.pptLamarck4
 

Semelhante a PGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do Paraná (20)

Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e software
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
Petic Emgetis Final
Petic Emgetis FinalPetic Emgetis Final
Petic Emgetis Final
 
Paula rodrigues - tv gazeta
Paula rodrigues - tv gazetaPaula rodrigues - tv gazeta
Paula rodrigues - tv gazeta
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
 
Petic Emgetis
Petic EmgetisPetic Emgetis
Petic Emgetis
 
Forense Computacional
Forense ComputacionalForense Computacional
Forense Computacional
 
TradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da LatenciaTradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da Latencia
 
Paula Rodrigues - apresentação tv gazeta
Paula Rodrigues - apresentação tv gazetaPaula Rodrigues - apresentação tv gazeta
Paula Rodrigues - apresentação tv gazeta
 
IBM zOS Basics
IBM zOS BasicsIBM zOS Basics
IBM zOS Basics
 
Servidores Virtuais
Servidores VirtuaisServidores Virtuais
Servidores Virtuais
 
Adm sop-unidade2
Adm sop-unidade2Adm sop-unidade2
Adm sop-unidade2
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open source
 
Apresentacao ENOS 2007
Apresentacao ENOS 2007Apresentacao ENOS 2007
Apresentacao ENOS 2007
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Vtex - Splunk live! 2014 São Paulo
Vtex - Splunk live! 2014 São Paulo Vtex - Splunk live! 2014 São Paulo
Vtex - Splunk live! 2014 São Paulo
 
VTEX @ Splunk Live! São Paulo
VTEX @ Splunk Live! São PauloVTEX @ Splunk Live! São Paulo
VTEX @ Splunk Live! São Paulo
 
Introdução a Informatica
Introdução a InformaticaIntrodução a Informatica
Introdução a Informatica
 
IntroducaoInformaticanovoarquivo2222.ppt
IntroducaoInformaticanovoarquivo2222.pptIntroducaoInformaticanovoarquivo2222.ppt
IntroducaoInformaticanovoarquivo2222.ppt
 

PGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do Paraná

  • 1. PostgreSQL no Tribunal de Justiça do Paraná PGDay Campinas 2013
  • 2. O que é o TJPR Números da TI no TJPR Bancos de Dados PostgreSQL Projudi Ferramentas
  • 3. O que é o Tribunal de Justiça do Estado do Paraná?
  • 4. O que é o Tribunal de Justiça do Estado do Paraná?
  • 5. O que é o Tribunal de Justiça do Estado do Paraná?
  • 6. O que é o Tribunal de Justiça do Estado do Paraná? Uma organização com distribuição física em 160 escritórios Os clientes são potencialmente toda a população do Estado do Paraná: 10 milhões de pessoas 12 mil funcionários 3,1 milhões de processos ativos
  • 7. Infraestrutura de TI do TJPR 22 mil contas de usuários de rede 14 mil computadores 20 mil caixas de correio 200 funcionários de TI 2 Data Centers (1 sala cofre principal e 1 site backup reduzido)
  • 8. Infraestrutura de TI do TJPR 28 servidores físicos x86 404 core 3 TB RAM 373 servidores virtuais (Linux/FreeBSD/Windows)
  • 9. Infraestrutura de TI do TJPR 28 servidores físicos x86 404 core 3 TB RAM 373 servidores virtuais (Linux/FreeBSD/Windows) 2 servidores físicos Itanium 2 servidores físicos RISC 18 core 72 GB RAM 6 servidores virtuais HP-UX (VPAR)
  • 10. Infraestrutura de TI do TJPR 28 servidores físicos x86 404 core 3 TB RAM 373 servidores virtuais (Linux/FreeBSD/Windows) 5 novos servidores físicos x86 de 80 core 400 core 5 TB RAM 2 servidores físicos Itanium 2 servidores físicos RISC 18 core 72 GB RAM 6 servidores virtuais HP-UX (VPAR)
  • 11. Infraestrutura de TI do TJPR 28 servidores físicos x86 404 core 3 TB RAM 373 servidores virtuais (Linux/FreeBSD/Windows) 5 novos servidores físicos x86 de 80 core 400 core 5 TB RAM 2 storages EMC com 270 TB 1 storage HP com 40 TB 1 storage Hitachi com 20 TB 2 servidores físicos Itanium 2 servidores físicos RISC 18 core 72 GB RAM 6 servidores virtuais HP-UX (VPAR) 08min
  • 12. Bancos de Dados no TJPR
  • 13. Bancos de Dados no TJPR Banco oficial utilizado para desenvolvimento de sistemas. Dezenas de aplicações.
  • 14. Bancos de Dados no TJPR
  • 15. Bancos de Dados no TJPR Utilizado em 2 sistemas importantes desenvolvidos e mantidos por terceiros.
  • 16. Bancos de Dados no TJPR
  • 17. Bancos de Dados no TJPR Sistemas legados, principalmente em MUMPS
  • 18. Bancos de Dados no TJPR
  • 19. Bancos de Dados no TJPR Apenas com serviços como antivírus, vmware, ...
  • 20. Bancos de Dados no TJPR
  • 21. Bancos de Dados no TJPR Apenas 1 sistema mantido pelo CNJ 12min
  • 22. PostgreSQL no TJPR 2009 Portal eDJ – Diário da Justiça Eletrônico Athos – Edição de Atos Domus – Estrutura Organizacional 1 servidor PostgreSQL 8.3 1 servidor réplica standby por log shipping
  • 23. PostgreSQL no TJPR 2010 SICC – Sistema de Informações Criminais Migração do Caché para PostgreSQL Aplicação Desktop - 2 camadas 1,5 mil conexões 1 servidor de produção no PostgreSQL 8.3
  • 24. PostgreSQL no TJPR 2011/1ºSem Projudi – Processo Eletrônico Migração do MySQL para PostgreSQL Aplicação Web Java 1 Servidor de Aplicação 2,5 mil usuários na aplicação 400 conexões com o banco 1 servidor de produção no PostgreSQL 8.3
  • 25. PostgreSQL no TJPR 2011/2ºSem Projudi – Processo Eletrônico Problemas de desempenho 2 Servidores de Aplicação 2,8 mil usuários na aplicação 600 conexões com o banco Migração para PostgreSQL 9 e Hot Standby de leitura
  • 26. Tipo Versão cpu memória base TPS Portal VM 9.1 4 08 GB 20 GB 270 VM 9.1 4 08 GB 20 GB 480 Diário da Justiça Athos VM 8.3 12 32 GB 400 GB 80 VM 8.3 2 08 GB 400 GB - SICC VM 8.3 6 32 GB 200 GB 1000 CartorioWin VM 8.3 4 32 GB 80 GB - Diversos Sistemas Judiciais VM 9.1 8 24 GB 300 GB 560 VM 9.1 2 08 GB 300 GB 0 Diversos Sistemas Administrativos VM 9.1 4 16 GB 180 GB 240 VM 9.1 2 08 GB 180 GB 0 Inscrições Concursos VM 9.1 4 08 GB 10 GB - Projudi HW 9.2 24 256 GB 160 GB 8100 HW 9.2 24 256 GB 160 GB 1000 VM 9.2 8 32 GB 160 GB - VM 9.1 2 08 GB 220 GB - PostgreSQL no TJPR
  • 27. PostgreSQL no TJPR – Uma abordagem de distribuição física Hardware ou VM Data Center 1 Storage 1 Servidor Principal Discos de dados e log
  • 28. PostgreSQL no TJPR – Uma abordagem de distribuição física Hardware ou VM Data Center 1 Storage 1 Data Center 2 Storage 2 Servidor Principal Servidor Réplica Discos de dados e log Discos de dados e log
  • 29. PostgreSQL no TJPR – Uma abordagem de distribuição física Hardware ou VM Data Center 1 Storage 1 Data Center 2 Storage 2 Servidor Principal Servidor RéplicaStreaming Replication Discos de dados e log Discos de dados e log
  • 30. PostgreSQL no TJPR – Uma abordagem de distribuição física Hardware ou VM Data Center 1 Storage 1 Data Center 2 Storage 2 Servidor Principal Servidor RéplicaStreaming Replication Discos de dados e log Discos de dados e log Discos de backups
  • 31. PostgreSQL no TJPR – Uma abordagem de distribuição física Hardware ou VM Data Center 1 Storage 1 Data Center 2 Storage 2 Servidor Principal Servidor RéplicaStreaming Replication Discos de dados e log Discos de dados e log Discos de backups Discos de backups 20min
  • 32. Projudi – Processo Eletrônico PROJUDI O processo judicial digital ou processo eletrônico, reproduz todo o procedimento judicial em meio eletrônico Utilizado através da Internet, permite a completa substituição do papel Inicialmente disponibilizado pelo CNJ, o Projudi foi adotado pelo TJPR como um projeto interno, hoje serve de modelo para outros estados
  • 33. Projudi – Números Mais de 70% de novos processos são eletrônicos Mais de 2 milhões de processos cadastrados 900 mil processos ativos Em breve, abrangerá 2º Grau e Criminal, chegando a 100% de novos processos em meio eletrônico na Justiça Estadual
  • 34. Projudi – Números +21.700 Magistrados, servidores, procuradores, promotores, entidades de apoio +43.600 Advogados +45.300 Partes com senha de acesso TOTAL +110.600 Usuários
  • 35. Projudi – Números +12 mil usuários simultâneos 25min
  • 36. Projudi – Infraestrutura Advogados / Assessores e Partes Demais Servidores ACE (Cisco) (Tomcats) PostgreSQL Principal 1 4 2 3 5 Consulta Pública População Projudi (Glassfish) 6 Réplica Réplica Réplica NAS Internet
  • 37. Projudi – Infraestrutura Data Center 1 Principal 1 NAS Réplica 2 Data Center 2 Réplica 3 (VM) Auditoria (VM) Aplicação Projudi 11 TB de Documentos Virtual IP 3 Virtual IP 2DNS
  • 38. Projudi – Números do Banco Principal +200 milhões de transações dia +8000 TPS (transações por segundo) no horário de pico de 14h as 17h +1000 conexões no banco principal e 1000 nas duas réplicas +25 milhões de registros escritos por dia 30min
  • 41. PostgreSQL no TJPR - Lições Pool de conexões com pgBouncer Pequeno, simples e extremamente eficiente Conexões no SICC eram quase 2000, consumindo muita memória e causando swap Com o pgBouncer conexões cairam para cerca de 300 Foi possível inclusive baixar a memória do servidor
  • 42. PostgreSQL no TJPR - Lições Hot StandBy - Uso da réplica para leitura Uso do Projudi crescendo rapidamente exaurindo o servidor principal Criação de uma réplica permitindo a aplicação balancear leitura estabilizou o sistema Experiência com configurações de valores de streaming delay
  • 43. PostgreSQL no TJPR - Lições Virtualização Maneira fácil de conseguir disponibilidade e escalabilidade vertical Entender demandas de desempenho e viabilidade da virtualização Uso de discos RAW (não VMFS no caso da VMWare) 35min
  • 44. PostgreSQL no TJPR – Melhorias Desejadas Diagnóstico Ferramentas para diagnosticar em tempo real a saúde do banco e do servidor. Escalabilidade Um balanceador de carga de leitura, leve, feito para trabalhar especificamente com a replicação nativa do PostgreSQL Alta Disponibilidade Ferramentas simples para failover transparente
  • 45. PostgreSQL no TJPR - Futuro Data Center 1 Principal 1 (HW) Réplica 2 (HW) Data Center 2 Aplicação Projudi Implantar Replicação Síncrona no Projudi (curto prazo) Réplica 3 (HW) Replicação Síncrona Replicação em Cascata Balanceamento pela Aplicação
  • 46. PostgreSQL no TJPR - Futuro Escalabilidade e Alta Disponibilidade (médio prazo) Balancear carga entre réplicas, através de ferramenta terceira ou adaptação de framework interno, permitindo crescer em número de máquinas menores e virtualizadas Implantar failover automático e transparente Cluster Master – Master (diversos nós de escrita)
  • 47. PostgreSQL no TJPR Dúvidas? Obrigado! Divisão de Infraestrutura de Software – TJPR Seção de Banco de Dados Fabio Caiut infrabancos@tjpr.jus.br