O que temos (software):
- PostrgeSQL 9.3 com configuração básica (sem alterações
postgresql.conf
) - Windows 7 de 64 bits
Hardware:
- Intel Core i7-3770 3.9 Ghz
- 32 Gb de RAM
- Unidade WDC WD10EZRX-00L4HBAta (1000Gb, SATA III)
Então, temos que carregar no DB aprox. 100.000.000 linhas com coluna bytea e mais 500.000.000 linhas simples (sem LOBs). Existem 2 varchar
índices na 1ª tabela (com 13, 19 comprimentos) e 2 varchar
índices na 2ª tabela (18, 10 comprimentos). Também existem sequências para geração de ID para cada tabela.
Até agora, essas operações estão funcionando com 8 conexões em paralelo com o tamanho de lote de 50 JDBC. A figura abaixo demonstra a carga do sistema: é de carga zero nos postgresql
processos. Após 24 horas de carregamento, carregamos apenas 10.000.000 de linhas, o que é um resultado muito lento.
Estamos solicitando ajuda no ajuste da PostrgreSQL
configuração para:
1) para carregamento ultra-rápido dessa quantidade de dados, é uma operação única, portanto pode ser uma configuração temporária
2) para o modo de produção, para executar um número moderado de SELECTs nessas 2 tabelas por seus índices, sem associação e sem classificação.
fonte