Sauvegarde des données graphe (Log shipping) ############################################ La sauvegarde des données graphe des métadonnées (UNIT/:term:`GOT`) consiste à récupérer au fil de l'eau depuis la base de données (MongoDB) les données graphe par (UNIT/GOT) pour les stocker dans les offres de stockage. .. .. note:: Log shipping .. caution:: En cas de problème de sauvegarde des données `graphe`, on écrit dans le fichier log une ``[Consistency Error]`` qu'il conviendra de surveiller. .. warning:: Si l'instance qui démarre le service de sauvegarde s'arrête, il faut lancer ce service de sauvegarde dans une autre instance. Déclenchement de la sauvegarde =============================== La sauvegarde des données `graphe` est lancée via un *timer* systemd ( :ref:`systemd_timer_mtd_graph` ), qui démarre le service systemd associé. * Le timer se lance chaque 30 minutes (par défaut, modifiable selon le besoin - se reporter à :ref:`changetimers` -) * Le sauvegarde des données `graphe` se fait sur un intervalle de temps (depuis la dernière sauvegarde jusqu'au temps présent) * Le fichier généré est un fichier au format ``zip``, qui contient un ou plusieurs fichiers ``JSON``. Ces fichiers ``JSON`` contiennent un tableau de données `graphe`. * Le nom du fichier de la dernière sauvegarde contient les dates début et fin de sauvegarde. Ce nom est utilisé pour déterminer la dernière date de sauvegarde. * La sauvegarde des UNIT est séparée de celle des :term:`GOT` (Deux `containers` distincts dans chaque offre de stockage) Reconstruction des données `graphe` =================================== La reconstruction des données `graphe` se fait avec le même principe que la reconstruction des méta-données (UNIT/:term:`GOT`) : * Gérer l'offset de reconstruction des fichiers de sauvegarde des données graphe. * Mettre à jour uniquement les données graphe. Si un document n'est pas trouvé, une création de ce document est faite et ne contiendra que les données du graphe. * De même, la reconstruction des métadonnées ne modifie pas les données graphe potentiellement déjà existantes. * Une purge est faite de tous les documents ayant uniquement les données graphe et qui sont vieux de (1 mois Configurable) * Les documents ayant uniquement les données graphe ne sont pas indexés dans ElasticSearch. * La reconstruction est séquentielle (D'abord les métadonnées UNIT/:term:`GOT` ensuite leur graphe) .. seealso:: Se reporter à la procédure de :ref:`reconstruction` des métadonnées pour plus d'informations.