Scalabilité et exploitation
AvancéPartitionnement, réplication, pool de connexions, sauvegardes, VACUUM, migrations en ligne et supervision.
- 01
Comment passer à l'échelle une base PostgreSQL
Avant de partitionner ou de répliquer, on épuise les leviers les moins coûteux : PostgreSQL monte très haut sur une seule machine.
- 02
Pool de connexions : PgBouncer
Chaque connexion PostgreSQL est un processus du système : les ouvrir est coûteux et en avoir des milliers ruine les performances.
- 03
Partitionnement déclaratif
Le partitionnement découpe une grande table logique en tables physiques plus petites : les requêtes ne lisent que les partitions utiles, et la purge d'anciennes données devient instantanée.
- 04
Réplication et répliques en lecture
La réplication maintient une ou plusieurs copies de la base : haute disponibilité et répartition des lectures.
- 05
Sauvegardes et restauration
Une sauvegarde qui n'a jamais été restaurée n'est pas une sauvegarde : c'est une hypothèse.
- 06
VACUUM, bloat et autovacuum
Puisque MVCC crée des versions de lignes, quelqu'un doit nettoyer les anciennes : c'est VACUUM. Sans lui, tables et index gonflent.
- 07
Migrations en ligne sans interruption
Sur une table active, un simple ALTER TABLE peut poser un verrou exclusif et mettre toute l'application à genoux : il faut connaître ce qui est instantané et ce qui bloque.
- 08
Superviser une base en production
Les incidents PostgreSQL se lisent dans quelques vues système : savoir où regarder fait gagner des heures.