Lo que tenemos (software):
- PostrgeSQL 9.3 con configuración base (sin cambios
postgresql.conf
) - Windows 7 de 64 bits
Hardware:
- Intel Core i7-3770 3.9 Ghz
- 32 Gb de RAM
- Unidad WDC WD10EZRX-00L4HBAta (1000 Gb, SATA III)
Entonces, tenemos que cargar en DB aprox. 100,000,000 filas con una columna bytea , y 500,000,000 filas más simples (sin LOB). Hay 2 varchar
índices en la primera tabla (con 13, 19 de longitud) y 2 varchar
índices en la segunda tabla (18, 10 de longitud). También hay secuencias para la generación de id para cada tabla.
Por ahora, estas operaciones se realizan con 8 conexiones en paralelo con 50 tamaños de lote JDBC. La siguiente imagen muestra la carga del sistema: es carga cero en los postgresql
procesos. Después de 24 horas de carga, hemos cargado solo 10,000,000 filas, lo que es un resultado muy lento.
Estamos pidiendo ayuda para ajustar la PostrgreSQL
configuración en propósitos de:
1) para la carga ultrarrápida de esta cantidad de datos, es una operación única, por lo que podría ser una configuración temporal
2) para el modo de producción para hacer un número moderado de SELECT en estas 2 tablas por sus índices sin unir y sin ordenar.
fuente