Ce que nous avons (logiciel):
- PostrgeSQL 9.3 avec configuration de base (aucun changement dans
postgresql.conf
) - Windows 7 64 bits
Matériel:
- Intel Core i7-3770 3,9 GHz
- 32 Go de RAM
- Lecteur WDC WD10EZRX-00L4HBAta (1000 Go, SATA III)
Nous devons donc charger dans DB aprox. 100 000 000 lignes avec colonne bytea et plus simples 500 000 000 lignes (sans LOB). Il y a 2 varchar
index sur la 1ère table (avec 13, 19 longueurs) et 2 varchar
index sur la 2ème table (18, 10 longueurs). Il existe également des séquences pour la génération d'ID pour chaque table.
À l'heure actuelle, ces opérations se font avec 8 connexions en parallèle avec une taille de lot de 50 JDBC. L'image ci-dessous montre la charge du système: il n'y a aucune charge sur les postgresql
processus. Après 24 heures de chargement, nous n'avons chargé que 10 000 000 lignes, ce qui est un résultat très lent.
Nous demandons de l'aide pour régler la PostrgreSQL
configuration dans le but de:
1) pour un chargement ultra rapide de cette quantité de données, il s'agit d'une opération unique, il peut donc s'agir d'une configuration temporaire
2) pour le mode de production pour faire un nombre modéré de SELECT dans ces 2 tables par leurs index sans jointure et sans tri.