"CASE: PostgreSQL no Tribunal de Justiça do Paraná"
Caso de sucesso na utilização do PostgreSQL no Tribunal de Justiça do Paraná. A palestra irá abordar as soluções utilizadas para atender a demanda dos sistemas de missão crítica, em especial o sistema PROJUDI. O PROJUDI é um software de tramitação de processos judiciais originalmente criado pelo Conselho Nacional de Justiça (CNJ) e utilizado em vários estados do Brasil. O processo judicial digital, também chamado de processo virtual ou de processo eletrônico, tem como premissa, gerenciar e controlar os trâmites de processos judiciais nos Tribunais de forma eletrônica, reduzindo tempo e custos.
PALESTRANTE:
- FABIO CAIUT
Fábio Caiut trabalha com TI há 13 anos, atuando principalmente em Infraestrutura e Suporte ao Desenvolvimento. É DBA PostgreSQL há 3 anos no Tribunal de Justiça do Paraná. Tem experiência como Desenvolvedor Lotus, Microsoft e DBA SQL Server. Formado em Ciência da Computação na UFPR e Especialista em Banco de Dados pela PUC-PR.
- MATHEUS ESPANHOL
Matheus é consultor de banco de dados especialista em PostgreSQL, presta serviços para a Dextra Sistemas na área de consultoria, suporte e treinamento. Trabalha há oito anos com ambientes de banco de dados opensource, tendo dedicado o último ano a ferramenta PgAnalytics.
--
Palestra apresentada no PGDay Campinas 2013 por Fabio Caiut e Matheus Espanhol
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
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
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)