2 votes

Comment optimiser un serveur postgreSQL pour une infrastructure de type "write once, read many" ?

Salutations,

Je travaille sur un logiciel qui enregistre les entrées (et le marquage associé) dans une base de données PostgreSQL pour le stockage et la récupération. Nous ne mettons jamais à jour les données une fois qu'elles ont été insérées ; nous pouvons les supprimer lorsque l'entrée devient trop ancienne, mais cela est fait au maximum une fois par jour. Les entrées stockées peuvent être récupérées par les utilisateurs.

L'insertion de nouvelles entrées peut se faire assez rapidement et régulièrement, de sorte que la base de données contient généralement plusieurs millions d'éléments.

Les tables utilisées sont assez simples : une table pour les identifiants, le contenu brut et la date d'insertion, et une table stockant les balises et leurs valeurs associées à un identifiant. Les recherches des utilisateurs portent principalement sur les valeurs des balises, de sorte que les SELECTs consistent généralement en des requêtes JOIN sur les ids des deux tables.

En résumé :

  • 2 tables
  • Beaucoup d'INSERT
  • pas d'UPDATE
  • quelques DELETE, une fois par jour au maximum
  • quelques SELECT générés par les utilisateurs avec JOIN
  • grande quantité de données

Quelle serait la configuration optimale (logicielle et matérielle, je suppose par exemple que RAID10 pourrait être utile) pour mon serveur PostgreSQL, compte tenu de ces exigences ? Par optimale, j'entends une configuration qui permet d'effectuer des requêtes SELECT en un temps raisonnablement court.

Je peux fournir plus d'informations sur la configuration actuelle (tables, index, etc.) si nécessaire.

1voto

paulgrav Points 535

Modifier certains paramètres de configuration dans postgresql.conf : Écriture : augmentez les paramètres wal-settings Lecture : augmentez les tampons partagés et définissez work_mem à une quantité telle que le planificateur puisse faire sa magie.

Il existe plusieurs paramètres, que vous devez vérifier et tester.

Le RAID 10 est excellent pour l'écriture, la lecture sera également parfaite. Une bonne carte RAID, avec beaucoup de RAM et une batterie de secours, sera d'une grande aide.

Et, RAM, RAM et RAM. On n'en a jamais trop.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X