Bonjour à tous,
J'utilise mysql pour traiter une bdd à croissance exponentielle et qui stocke déjà des centaines de milliers d'entrées par table.
J'ai au départ des fichiers qui sont traites par un script.
Il tire les infos, les traite, puis les insère dans la bdd.
Mais le volume de fichiers à traiter devient problématique.
j'ai essayé de lancer plusieurs fois le même script en même temps, mais ils rentrent en conflit. Je ne peux en faire tourner que 3 en même temps.
Mysql n'est que sur un nœud mais 8 processeurs sont pourtant disponibles .
J'ai sous divisé les tables en faisant 5 catégories distinctes: Une même table en devient 5 de même structure mais ne pouvant pas avoir les mêmes entrées
(par exemple une table pour les moins de 18ans, une pour les 18-35ans ..etc , mais contenant les mêmes colonnes)
Malheureusement même en augmentant beaucoup les locks ça n'augmente pas la vitesse. Je ne peux faire tourner que 3 scripts simultanément
Donc je vais créer 25 bdd de structure identique mais ne pouvant pas contenir les mêmes entrées (par exemple : une pour les noms commençant par A, une pour les B ...etc)
Mais il faudra après traitement de tous les fichiers que je remette tout ds la même base de données
j'espère faire tourner ainsi d'avantage de script même si certains seront queued.
Mes tables sont en innodb;
Mes questions sont les suivantes:
Est-ce qu'il est possible de tout réunifier ds une même bdd?
comment gagner autrement de la vitesse de traitement ds mon cas de figure?
Est-ce-que postgre SQL pourrait faire augmenter la vitesse?
Est-ce compatible avec les table innodb?
Merci par avance pour votre aide!
Partager