BBL autour de PostgreSQL @Novapost

689 vues

Publié le

Brown Bag Lunch sur inviation chez Novapost pour présenter les axes de réflexions pour la gestion de la montée en charge de PostgreSQL. Présentations de différents axes de travail afin d

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
689
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
26
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

BBL autour de PostgreSQL @Novapost

  1. 1. PostgreSQL quatre ans après Rodolphe Quiédeville Novapost 21 mai 2014 Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 1 / 43
  2. 2. Axes de travail 10 axes de travail pour améliorer les performances et monter en charge en étant serein. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 2 / 43
  3. 3. Axes de travail 10 axes de travail pour améliorer les performances et monter en charge en étant serein. pgtune hardware tablespaces replication connection pooler vaccum materialized views partitionnement index query ??? Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 2 / 43
  4. 4. Axes de travail pgtune Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 3 / 43
  5. 5. pgtune Script d’optimisation des paramètres de postgresql.conf. L’étape numéro une de toute optimisation. utilisation pgtune -i /etc/postgresql/9.1/main/postgresql.conf Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 4 / 43
  6. 6. pgtune Fait des propositions d’adaptation des paramètres de configuration au matériel Postulat pgtune considère qu’un seul cluster tourne sur la machine et que celle-ci est dédiée au serveur de base de données Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 5 / 43
  7. 7. pgtune Fait des propositions d’adaptation des paramètres de configuration au matériel Postulat pgtune considère qu’un seul cluster tourne sur la machine et que celle-ci est dédiée au serveur de base de données Restart certains paramètres nécessite un redémarrage pour leur prise en compte Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 5 / 43
  8. 8. pgtune Sortie du script Example #custom_variable_classes = ’’ # list of custom variable class names default_statistics_target = 50 maintenance_work_mem = 176MB constraint_exclusion = on checkpoint_completion_target = 0.9 effective_cache_size = 2GB work_mem = 18MB wal_buffers = 8MB checkpoint_segments = 16 shared_buffers = 704MB max_connections = 80 Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 6 / 43
  9. 9. Axes de travail pgtune hardware Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 7 / 43
  10. 10. hardware PostgreSQL a plusieurs flux de lecture/écriture, il faut en profiter tant que faire se peut. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 8 / 43
  11. 11. hardware PostgreSQL a plusieurs flux de lecture/écriture, il faut en profiter tant que faire se peut. plusieurs disques Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 8 / 43
  12. 12. hardware PostgreSQL a plusieurs flux de lecture/écriture, il faut en profiter tant que faire se peut. plusieurs disques plusieurs contrôlleurs Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 8 / 43
  13. 13. hardware PostgreSQL a plusieurs flux de lecture/écriture, il faut en profiter tant que faire se peut. plusieurs disques plusieurs contrôlleurs RAID10 au lieu de RAID5 Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 8 / 43
  14. 14. hardware PostgreSQL a plusieurs flux de lecture/écriture, il faut en profiter tant que faire se peut. plusieurs disques plusieurs contrôlleurs RAID10 au lieu de RAID5 les WAL d’un coté les données de l’autre Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 8 / 43
  15. 15. Axes de travail pgtune hardware tablespaces Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 9 / 43
  16. 16. Tablespace Les tablespaces permettent de définir l’emplacement dans le système de fichiers où seront stockés les fichiers représentant les objets de la base de données. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 10 / 43
  17. 17. Tablespace Les tablespaces permettent de définir l’emplacement dans le système de fichiers où seront stockés les fichiers représentant les objets de la base de données. séparer les tables des index Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 10 / 43
  18. 18. Tablespace Les tablespaces permettent de définir l’emplacement dans le système de fichiers où seront stockés les fichiers représentant les objets de la base de données. séparer les tables des index séparer les tables d’archives des données fraiches Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 10 / 43
  19. 19. Tablespace Les tablespaces permettent de définir l’emplacement dans le système de fichiers où seront stockés les fichiers représentant les objets de la base de données. séparer les tables des index séparer les tables d’archives des données fraiches lier les spécificités physique du stockage à l’utilisation logique des données (session en SSD) Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 10 / 43
  20. 20. Tablespace Création CREATE TABLESPACE espace_rapide LOCATION ’/mnt/sda1/postgresql/data’; Création de la table CREATE TABLE foo(i int) TABLESPACE espace1; Le déplacement de données existantes est également possible. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 11 / 43
  21. 21. Axes de travail pgtune hardware tablespaces replication Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 12 / 43
  22. 22. replication Vaste programme. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 13 / 43
  23. 23. replication Vaste programme. La réplication est un des sujets les plus discutés des bases de données à ce jour. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 14 / 43
  24. 24. replication Vaste programme. La réplication est un des sujets les plus discutés des bases de données à ce jour. synchrone/asynchrone Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 15 / 43
  25. 25. replication Vaste programme. La réplication est un des sujets les plus discutés des bases de données à ce jour. synchrone/asynchrone warn/hot standby Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 15 / 43
  26. 26. replication Vaste programme. La réplication est un des sujets les plus discutés des bases de données à ce jour. synchrone/asynchrone warn/hot standby single/multi master Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 15 / 43
  27. 27. replication Vaste programme. La réplication est un des sujets les plus discutés des bases de données à ce jour. synchrone/asynchrone warn/hot standby single/multi master granularité au niveau table Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 15 / 43
  28. 28. replication Vaste programme. La réplication est un des sujets les plus discutés des bases de données à ce jour. synchrone/asynchrone warn/hot standby single/multi master granularité au niveau table incore/middleware (pgpool-II) Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 15 / 43
  29. 29. replication Vaste programme. La réplication est un des sujets les plus discutés des bases de données à ce jour. synchrone/asynchrone warn/hot standby single/multi master granularité au niveau table incore/middleware (pgpool-II) Warning La réplication est simple à mettre en oeuvre, la gérer au jour le jour est un travail de tous les jours. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 16 / 43
  30. 30. Axes de travail pgtune hardware tablespaces replication connection pooler Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 17 / 43
  31. 31. connection pooler L’utilisation d’un pooler de connection est intéressant quand un grand nombre de connections sont créees pour de courtes durées. Un pooler peut aussi être intéressant conjointement avec une réplication. pgbouncer pgpool-II Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 18 / 43
  32. 32. Axes de travail pgtune hardware tablespaces replication connection pooler vaccum Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 19 / 43
  33. 33. vaccum La commande VACUUM doit traiter chaque table régulièrement pour plusieurs raisons : Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 20 / 43
  34. 34. vaccum La commande VACUUM doit traiter chaque table régulièrement pour plusieurs raisons : pour récupérer ou ré-utiliser l’espace disque occupé par les lignes supprimées ou mises à jour Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 20 / 43
  35. 35. vaccum La commande VACUUM doit traiter chaque table régulièrement pour plusieurs raisons : pour récupérer ou ré-utiliser l’espace disque occupé par les lignes supprimées ou mises à jour pour mettre à jour les statistiques utilisées par l’optimiseur de PostgreSQL Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 20 / 43
  36. 36. vaccum La commande VACUUM doit traiter chaque table régulièrement pour plusieurs raisons : pour récupérer ou ré-utiliser l’espace disque occupé par les lignes supprimées ou mises à jour pour mettre à jour les statistiques utilisées par l’optimiseur de PostgreSQL pour mettre à jour la carte de visibilité qui accélère les parcours d’index seuls Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 20 / 43
  37. 37. vaccum La commande VACUUM doit traiter chaque table régulièrement pour plusieurs raisons : pour récupérer ou ré-utiliser l’espace disque occupé par les lignes supprimées ou mises à jour pour mettre à jour les statistiques utilisées par l’optimiseur de PostgreSQL pour mettre à jour la carte de visibilité qui accélère les parcours d’index seuls pour prévenir la perte des données les plus anciennes à cause d’un cycle de l’identifiant de transaction (XID) ou d’un cycle de l’identifiant de multixact. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 20 / 43
  38. 38. vaccum La commande VACUUM doit traiter chaque table régulièrement pour plusieurs raisons : pour récupérer ou ré-utiliser l’espace disque occupé par les lignes supprimées ou mises à jour pour mettre à jour les statistiques utilisées par l’optimiseur de PostgreSQL pour mettre à jour la carte de visibilité qui accélère les parcours d’index seuls pour prévenir la perte des données les plus anciennes à cause d’un cycle de l’identifiant de transaction (XID) ou d’un cycle de l’identifiant de multixact. autovaccum Si vous ne savez pas à quoi sert autovaccum, laissez faire autovaccum. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 21 / 43
  39. 39. Axes de travail pgtune hardware tablespaces replication connection pooler vaccum materialized views Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 22 / 43
  40. 40. Vues matérialisées Le meilleur de la table et de la vue. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 23 / 43
  41. 41. Vues matérialisées Le meilleur de la table et de la vue. Les meilleures alliées des business analyst. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 24 / 43
  42. 42. Vues matérialisées Le meilleur de la table et de la vue. Les meilleures alliées des business analyst. se crée comme une vue Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 24 / 43
  43. 43. Vues matérialisées Le meilleur de la table et de la vue. Les meilleures alliées des business analyst. se crée comme une vue crée une table physique Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 24 / 43
  44. 44. Vues matérialisées Le meilleur de la table et de la vue. Les meilleures alliées des business analyst. se crée comme une vue crée une table physique porte ses propres index Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 24 / 43
  45. 45. Vues matérialisées Le meilleur de la table et de la vue. Les meilleures alliées des business analyst. se crée comme une vue crée une table physique porte ses propres index scinde les flux de requêtes Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 24 / 43
  46. 46. Vues matérialisées Le meilleur de la table et de la vue. Les meilleures alliées des business analyst. se crée comme une vue crée une table physique porte ses propres index scinde les flux de requêtes doit être mise à jour suivant les besoins ! Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 24 / 43
  47. 47. Vues matérialisées Le meilleur de la table et de la vue. Les meilleures alliées des business analyst. se crée comme une vue crée une table physique porte ses propres index scinde les flux de requêtes doit être mise à jour suivant les besoins ! le REFRESH prend un ACCESS EXCLUSIVE LOCK (corrigé en 9.4) Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 24 / 43
  48. 48. Vues matérialisées Le meilleur de la table et de la vue. Les meilleures alliées des business analyst. se crée comme une vue crée une table physique porte ses propres index scinde les flux de requêtes doit être mise à jour suivant les besoins ! le REFRESH prend un ACCESS EXCLUSIVE LOCK (corrigé en 9.4) New ! A partir de PostgreSQL 9.3 Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 24 / 43
  49. 49. Vues matérialisées Création CREATE MATERIALIZED VIEW resume_ventes AS SELECT no_vendeur, date_facture, sum(mtt_facture)::numeric(13,2) as mtt_ventes FROM facture WHERE date_facture < CURRENT_DATE GROUP BY no_vendeur, date_facture ORDER BY no_vendeur, date_facture; CREATE UNIQUE INDEX ventes_resume_vendeur ON sales_summary (no_vendeur, date_facture); Mise à jour REFRESH MATERIALIZED VIEW resume_ventes; Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 25 / 43
  50. 50. Axes de travail pgtune hardware tablespaces replication connection pooler vaccum materialized views partitionnement Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 26 / 43
  51. 51. partitionnement Le partitionnement fait référence à la division d’une table logique volumineuse en plusieurs parties physiques plus petites. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 27 / 43
  52. 52. partitionnement Le partitionnement fait référence à la division d’une table logique volumineuse en plusieurs parties physiques plus petites. utilise l’héritage de table Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 27 / 43
  53. 53. partitionnement Le partitionnement fait référence à la division d’une table logique volumineuse en plusieurs parties physiques plus petites. utilise l’héritage de table partitionnement par échelon Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 27 / 43
  54. 54. partitionnement Le partitionnement fait référence à la division d’une table logique volumineuse en plusieurs parties physiques plus petites. utilise l’héritage de table partitionnement par échelon partitionnement par liste Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 27 / 43
  55. 55. partitionnement Création table maître SQL CREATE TABLE mesure ( id_ville int not null, date_trace date not null, temperature int, ventes int ); Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 28 / 43
  56. 56. partitionnement Création des tables filles avec contraintes SQL CREATE TABLE mesure_a2006m02 ( CHECK ( date_trace >= DATE ’2006-02-01’ AND date_trace < DATE ’2006-03-01’ ) ) INHERITS (mesure); CREATE TABLE mesure_a2006m03 ( CHECK ( date_trace >= DATE ’2006-03-01’ AND date_trace < DATE ’2006-04-01’ ) ) INHERITS (mesure); ... Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 29 / 43
  57. 57. partitionnement Création des index SQL CREATE INDEX mesure_a2006m02_date_trace ON mesure_a2006m02 (date_trace); CREATE INDEX mesure_a2006m03_date_trace ON mesure_a2006m03 (date_trace); ... CREATE INDEX mesure_a2007m11_date_trace ON mesure_a2007m11 (date_trace); CREATE INDEX mesure_a2007m12_date_trace ON mesure_a2007m12 (date_trace); CREATE INDEX mesure_a2008m01_date_trace ON mesure_a2008m01 (date_trace); Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 30 / 43
  58. 58. partitionnement Création des trigger SQL CREATE OR REPLACE FUNCTION mesure_insert_trigger() RETURNS TRIGGER AS $$ BEGIN INSERT INTO mesure_a2008m01 VALUES (NEW.*); RETURN NULL; END; $$ LANGUAGE plpgsql; SQL CREATE TRIGGER insert_mesure_trigger BEFORE INSERT ON mesure FOR EACH ROW EXECUTE PROCEDURE mesure_insert_trigger(); Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 31 / 43
  59. 59. partitionnement Attention à l’utilisation SQL rodo@[local]:5432 rodo=> explain select * from mesure ; QUERY PLAN -------------------------------------------------------------------------- Append (cost=0.00..55.40 rows=3541 width=16) -> Seq Scan on mesure (cost=0.00..0.00 rows=1 width=16) -> Seq Scan on mesure_a2006m02 (cost=0.00..27.70 rows=1770 width=16) -> Seq Scan on mesure_a2006m03 (cost=0.00..27.70 rows=1770 width=16) (4 rows) Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 32 / 43
  60. 60. Axes de travail pgtune hardware tablespaces replication connection pooler vaccum materialized views héritage de table index Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 33 / 43
  61. 61. index Il s’avère que la seule chose que les développeurs doivent connaître est l’indexation. En fait, l’indexation d’une base de données est un travail de développeurs car l’information la plus importante pour une bonne indexation ne se situe ni au niveau de la configuration du système de stockage ni dans la configuration du matériel, mais plutôt au niveau de l’application : « comment l’application cherche ses données ». Markus Winand - http://use-the-index-luke.com/fr Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 34 / 43
  62. 62. index Trop d’index nuit à la performance. Mettre à jour un index qui n’est jamais lu n’est pas forcément nécessaire. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 35 / 43
  63. 63. index Trop d’index nuit à la performance. Mettre à jour un index qui n’est jamais lu n’est pas forcément nécessaire. SQL indexrelname | idx_scan | idx_tup_read | idx_tup_fetch --------------------+----------+--------------+--------------- job_job_fkposte_id | 0 | 0 | 0 job_job_region_id | 0 | 0 | 0 job_job_company_id | 43 | 323 | 305 job_job_author_id | 0 | 0 | 0 job_job_pkey | 22968 | 22930 | 22911 (5 rows) Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 35 / 43
  64. 64. Axes de travail pgtune hardware tablespaces replication connection pooler vaccum materialized views héritage de table index query Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 36 / 43
  65. 65. query La ré-écriture des requêtes et le travail coté application Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 37 / 43
  66. 66. query La ré-écriture des requêtes et le travail coté application la requête la plus rapide est celle qui n’est pas éxecutée Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 37 / 43
  67. 67. query La ré-écriture des requêtes et le travail coté application la requête la plus rapide est celle qui n’est pas éxecutée rien ne sert de ré-écrire les index si les requêtes ne les utilisent pas Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 37 / 43
  68. 68. query La ré-écriture des requêtes et le travail coté application la requête la plus rapide est celle qui n’est pas éxecutée rien ne sert de ré-écrire les index si les requêtes ne les utilisent pas certains axes d’optimisation ne sont pas compatible avec les framework mal conçus Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 37 / 43
  69. 69. Axes de travail pgtune hardware tablespaces replication connection pooler vaccum materialized views héritage de table index query ??? Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 38 / 43
  70. 70. Axes de travail pgtune hardware tablespaces replication connection pooler vaccum materialized views héritage de table index query schema Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 39 / 43
  71. 71. schema Last but not least, le schema reste la source numéro un des problèmes de performance et de montée en charge. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 40 / 43
  72. 72. schema Last but not least, le schema reste la source numéro un des problèmes de performance et de montée en charge. table Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 40 / 43
  73. 73. schema Last but not least, le schema reste la source numéro un des problèmes de performance et de montée en charge. table view Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 40 / 43
  74. 74. schema Last but not least, le schema reste la source numéro un des problèmes de performance et de montée en charge. table view index Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 40 / 43
  75. 75. schema Last but not least, le schema reste la source numéro un des problèmes de performance et de montée en charge. table view index "les jointures c’est bon mangez-en" Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 40 / 43
  76. 76. Conclusion Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 41 / 43
  77. 77. Conclusion Tout modification structurelle doit s’accompagner d’un processus de validation itératif. Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 42 / 43
  78. 78. Conclusion Tout modification structurelle doit s’accompagner d’un processus de validation itératif. 1 rédaction d’un protocole de test avec son jeu de données Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 42 / 43
  79. 79. Conclusion Tout modification structurelle doit s’accompagner d’un processus de validation itératif. 1 rédaction d’un protocole de test avec son jeu de données 2 mesure des indicateurs Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 42 / 43
  80. 80. Conclusion Tout modification structurelle doit s’accompagner d’un processus de validation itératif. 1 rédaction d’un protocole de test avec son jeu de données 2 mesure des indicateurs 3 modification d’un paramètre Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 42 / 43
  81. 81. Conclusion Tout modification structurelle doit s’accompagner d’un processus de validation itératif. 1 rédaction d’un protocole de test avec son jeu de données 2 mesure des indicateurs 3 modification d’un paramètre 4 mesure des même indicateurs Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 42 / 43
  82. 82. Conclusion Tout modification structurelle doit s’accompagner d’un processus de validation itératif. 1 rédaction d’un protocole de test avec son jeu de données 2 mesure des indicateurs 3 modification d’un paramètre 4 mesure des même indicateurs 5 analyse des résultats Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 42 / 43
  83. 83. Conclusion Tout modification structurelle doit s’accompagner d’un processus de validation itératif. 1 rédaction d’un protocole de test avec son jeu de données 2 mesure des indicateurs 3 modification d’un paramètre 4 mesure des même indicateurs 5 analyse des résultats 6 goto 3 | 1 Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 42 / 43
  84. 84. Questions ? Rodolphe Quiédeville rodolphe@quiedeville.org http://blog.rodolphe.quiedeville.org/ Document publié sous Licence Creative Commons BY-SA 2.0 Rodolphe Quiédeville (Freelance) PostgreSQL quatre ans après 21 mai 2014 43 / 43

×