Différences entre versions de « NF14659 — Stockage des pièces jointes sur le disque dur et plus dans la base de données »

De Documentation Polaris
Aller à : navigation, rechercher
(modifications automatiques tags et catégories via le cartographe)
Ligne 2 : Ligne 2 :
 
<blockquote><small>''Voir la carte de la fonctionnalité : [[PP58_—_A_classer#NF14659|A classer]]''</small></blockquote>{{FinInfoCartographe}}
 
<blockquote><small>''Voir la carte de la fonctionnalité : [[PP58_—_A_classer#NF14659|A classer]]''</small></blockquote>{{FinInfoCartographe}}
 
{{DebutChapeau}}<br/><br/>{{FinChapeau}}
 
{{DebutChapeau}}<br/><br/>{{FinChapeau}}
 +
== Concept ==
 +
 +
=== Fonctionnalité ===
 +
Nous gérons dorénavant le stockage des pièces jointes de la messagerie interne en dehors de la base de données, sur fichier plat, dans le répertoire <code>/var/polaris/media/attachments</code>.
 +
 +
Les pièces jointes ne sont pas envoyées aux postes de réplication tant que ceux-ci ne demande pas à la consulter, y compris lors de la synchronisation d'un poste.
 +
 +
=== Finalités : ===
 +
Nous avons entrepris la réalisation de la séparation des pièces-jointes pour les raisons suivantes :
 +
* '''gain d'espace''' : les objets binaires sont en effet stockés au format base64, ce qui augmente artificiellement leur taille et donc celle de la base de données ;
 +
* '''gain de complexité''' : en gérant les pièces jointes en dehors de la base de données, nous ouvrons le champ des possibles sur leur gestion par des méthodes plus conventionnelles (transfert HTTP) ;
 +
* '''gain de productivité''' : il est désormais possible de gérer le backup des pièces jointes de manière incrémentale sur une chronologie différente des données - car étant de simples fichiers dans une arborescence stable et définie - signifiant un gain énorme de place et de temps lors des sauvegardes ;
 +
 +
== Fonctionnement ==
 +
Voici le flux complet de la vie de la pièce-jointe.
 +
 +
<graphviz>
 +
digraph G {
 +
graph [fontname = "helvetica", size="8"];
 +
node [fontname = "helvetica", size="8"];
 +
edge [fontname = "helvetica", size="8"];
 +
 +
a1 [shape=rect label="Nouvelle PJ"];
 +
a2 [shape=rect label="Consulter la PJ"];
 +
 +
o1 [label="Réplication"];
 +
o2 [label="Téléchargement PJ"];
 +
o3 [label="Demande au TLR"];
 +
o4 [label="Réplication"];
 +
o5 [label="Extraction depuis la base"];
 +
o6 [shape=doublecircle label="Disque TLR"];
 +
o7 [label="Téléchargement"];
 +
o8 [label="Stockage cache"];
 +
o9 [shape=doublecircle label="Disque Local"];
 +
q1 [shape=diamond label="En cache"];
 +
 +
        subgraph cluster_TLR {
 +
label = "TLR";
 +
                color=green;
 +
 +
                o4;
 +
                o5;
 +
                o6;
 +
                o7;
 +
};
 +
 +
        subgraph cluster_S1 {
 +
label = "Service Fils A";
 +
color=violet;
 +
 +
              o1;
 +
};
 +
 +
subgraph cluster_S2 {
 +
label = "Service Fils B";
 +
color=maroon;
 +
 +
                q1;
 +
                o2;
 +
                o3;
 +
                o8;
 +
                o9;
 +
};
 +
 +
  a1 -> o1 [label="replication"];
 +
  o1 -> o4 [label="replication"];
 +
  o4 -> o5 [label=""];
 +
  o5 -> o6 [label=""];
 +
  a2 -> o2 [label="http"];
 +
  o7 -> o8 [label="http"];
 +
  o7 -> o6 [label=""];
 +
  o2 -> q1 [label=""];
 +
  q1 -> o3 [label="Non"];
 +
  q1 -> o9 [label="Oui"];
 +
  o3 -> o7 [label="http"];
 +
  o8 -> o9 [label=""];
 +
  o9 -> a2 [label="PJ, http"];
 +
}
 +
</graphviz>
 +
 +
== Paramétrage ==
 +
Il n'y a aucun paramétrage associé à cette fonctionnalité

Version du 22 novembre 2018 à 12:58

Voir la carte de la fonctionnalité : A classer



Concept

Fonctionnalité

Nous gérons dorénavant le stockage des pièces jointes de la messagerie interne en dehors de la base de données, sur fichier plat, dans le répertoire /var/polaris/media/attachments.

Les pièces jointes ne sont pas envoyées aux postes de réplication tant que ceux-ci ne demande pas à la consulter, y compris lors de la synchronisation d'un poste.

Finalités :

Nous avons entrepris la réalisation de la séparation des pièces-jointes pour les raisons suivantes :

  • gain d'espace : les objets binaires sont en effet stockés au format base64, ce qui augmente artificiellement leur taille et donc celle de la base de données ;
  • gain de complexité : en gérant les pièces jointes en dehors de la base de données, nous ouvrons le champ des possibles sur leur gestion par des méthodes plus conventionnelles (transfert HTTP) ;
  • gain de productivité : il est désormais possible de gérer le backup des pièces jointes de manière incrémentale sur une chronologie différente des données - car étant de simples fichiers dans une arborescence stable et définie - signifiant un gain énorme de place et de temps lors des sauvegardes ;

Fonctionnement

Voici le flux complet de la vie de la pièce-jointe.

Paramétrage

Il n'y a aucun paramétrage associé à cette fonctionnalité