Cosa abbiamo (software):
- PostrgeSQL 9.3 con configurazione di base (nessuna modifica in
postgresql.conf
) - Windows 7 a 64 bit
Hardware:
- Intel Core i7-3770 3,9 Ghz
- 32 GB di RAM
- WDC WD10EZRX-00L4HBAta Drive (1000Gb, SATA III)
Quindi, dobbiamo caricare in aprox DB. 100.000.000 di righe con colonna bytea e 500.000.000 di righe più semplici (senza LOB). Ci sono 2 varchar
indici sulla 1a tabella (con 13, 19 lunghezze) e 2 varchar
indici sulla 2a tabella (18, 10 lunghezze). Esistono anche sequenze per la generazione di ID per ogni tabella.
Ormai queste operazioni stanno effettuando con 8 connessioni in parallelo con 50 dimensioni batch JDBC. L'immagine seguente mostra il carico del sistema: è a carico zero sui postgresql
processi. Dopo 24 ore di caricamento abbiamo caricato solo 10.000.000 di righe, il che è un risultato molto lento.
Chiediamo aiuto per ottimizzare la PostrgreSQL
configurazione allo scopo di:
1) per il caricamento ultra rapido di questa quantità di dati, si tratta di una sola operazione, quindi potrebbe essere una configurazione temporanea
2) per la modalità di produzione per eseguire un numero moderato di SELECT in queste 2 tabelle in base ai loro indici senza join e senza ordinamento.