Formation PostgreSQL Administration Avancée
3 JoursObjectifs de la formation Optimisation PostGreSQL
Objectifs pédagogiques :
- Maintenir un parc de serveurs en environnement de production
- Sauvegarder et Restaurer les données
- Exploiter la puissance du moteur
- Garantir la sécurité des données
À qui s’adresse cette formation ?
Public :
Cette formation s’adresse aux utilisateurs confirmés et aux administrateurs de bases de données (DBA) ayant déjà une bonne connaissance de PostgreSQL.
Prérequis :
Pour suivre ce cours dans de bonnes conditions, il vous est conseillé de savoir utiliser un système Unix ou, idéalement, Linux. IL est également demandé d’avoir de bonnes connaissances minimales en système d’exploitation et informatique, une bonne connaissance du langage SQL, et une bonne connaissance de PostgreSQL.
Contenu du cours Optimisation PostGreSQL
Richesses de l’écosystème Postgre
Objectif: Découvrir le foisonnement de la communauté PostgreSQL
Cette introduction s’adresse aux utilisateurs qui souhaitent repousser les limites d’une utilisation classique de PostgreSQL.
À l’issue de ce module, le stagiaire aura une vision claire des projets complémentaires qui simplifient la gestion quotidienne des bases PostgreSQL.
Par ailleurs, le module contient une revue des différences entre PostgreSQL et ses concurrents
Thèmes abordés:
– Tour d’horizon des projets satellites
– Comparaisons avec les autres SGBDR ( fonctionnalités / performances )
– Fonctionnement de la communauté
– Comment participer ? / Avenir du projet
Fonctionnement Interne
Objectif: Expliquer le fonctionnement de PostgreSQL
Cette partie vise à décrire le mécanique qui se cache derrière les grands principes du SGBD PostgreSQL :
gestion des processus, organisation de la mémoire, structure des données sur disques, journaux de transactions, etc.
Thèmes abordés:
– Processus
– Gestion mémoire et Shared buffers
– Organisation des Fichiers
– WAL
– Les statistiques
– Logs
– Réseau/Dialogue client-serveur
Mécanique du Moteur Transactionnel
Objectif: Comprendre le fonctionnement du noyau MVCC
MVCC est un acronyme signifiant « MultiVersion Concurrency Control », un système dont le principe est de faciliter l’accès concurrent de plusieurs utilisateurs (sessions) à la base en disposant en permanence de plusieurs versions différentes d’un même enregistrement.
Chaque session peut travailler simultanément sur la version qui s’applique à son contexte
Thèmes abordés:
– Principes du moteur transactionnel
– Fonctionnement du MVCC
– Paramétrage de Vacuum et d’Autovacuum
– Comprendre le mécanisme de verrouillage
Point in Time Recovery
Objectif: Réaliser des sauvegardes sophistiquées
Au delà des techniques “classiques” de sauvegarde et de restauration, la solution Point In Time Recovery permet une perte de données minimale et une restauration des bases de données à un instant T…
Une sorte de “retour-arrière” qui garantit une prévention maximale contre les erreurs humaines et qui permet de construire la base pour effectuer une analyse suite à un crash ou une attaque (forensic)
Thèmes abordés:
– Rappels sur les journaux de transactions
– Snapshot de la base
– Restauration à un instant T
– Log Shipping
PostgreSQL Avancé
Objectif: Maîtriser les fonctions les plus évoluées du logiciel
Lorsqu’un projet atteint ses limites matérielles, techniques ou fonctionnelles, il est nécessaire de savoir tirer le meilleur parti du serveur PostgreSQL en exploitant les fonctionnalités les plus puissantes :
Déplacer les données sur des espaces de stockage différents, scinder une table volumineuse en plusieurs “tables filles” , indexer efficacement des champs TEXT, accéder aux données via le langage XML ou encore réaliser un découpage horizontale des données, autant de solutions sophitiquées qui font la différence est un simple administrateur et un DBA expérimenté.
Thèmes abordés:
– Gestion des tablespaces
– Partitionnement / héritage
– Recherche Plein Texte
– Manipulation de données XML
– Sharding : PL/proxy et DBLink
Analyse
Objectif: Identifier les points de contention du système
Cette partie décrit les outils et solutions à la disposition des administrateurs qui souhaitent analyser le trafic de leurs bases de données :
lister les requêtes les plus lentes, les plus fréquentes, les erreurs de syntaxe et les pistes d’optimisations SQL
Thèmes abordés:
– Configurer les logs
– Analyse du trafic SQL avec pgBadger
– Analyse en temps réel avec pg_statement_stats
Travaux Pratiques
Lors de chaque module de formation, l’enseignement sera accompagné de travaux pratiques. Ces exercices techniques permettront de valider l’acquisition des connaissances par les stagiaires.