Archivage des données
L’archivage des données implique la gestion de la taille des tables, la croissance et l’archivage des anciennes données. Il déplace les données qui ne sont plus nécessaires tous les jours des tables primaires vers un ensemble de tables d’archivage.
Plus une instance s’exécute longtemps, plus elle est susceptible d’accumuler des données qui ne sont plus pertinentes. Par exemple, les enregistrements de tâches d’il y a deux ans sont généralement moins pertinents que les tâches actuellement actives. Les anciennes données peuvent éventuellement entraîner des problèmes de performances en consommant des ressources système et en ralentissant les requêtes et les rapports.
- Configurez une règle d’archivage qui archive les données et les supprime de l’accès immédiat afin de libérer des ressources système.
- Configurez une règle de destruction pour supprimer les données après une période spécifiée.
- Configurez les propriétés des règles d’archivage et de destruction qui contrôlent le traitement par lots des règles d’archivage et de destruction.
Vous pouvez archiver des enregistrements dans des tables de base telles que la table Tâche [task] et des enregistrements dans des tables personnalisées que vous créez sur le Now Platform.
Pour archiver Base de données de gestion des configurations (CMDB) des enregistrements CI, utilisez le Working with CMDB Data Managerfichier .
L’archivage des données prend en charge Domain Separation pour les fournisseurs de services. Par exemple, les incidents qui appartiennent à un domaine conservent leur désignation de domaine même après leur archivage.
Tables et modules créés par une règle d’archivage
La première fois que vous activez une règle d’archivage, elle effectue les actions suivantes :
- Crée la table d’archivage dans la base de données. La table d’archivage porte le même nom que la table primaire avec un préfixe « ar_ ». Par exemple, si vous archivez la table Incident
[incident],la table d’archivage est[ar_incident]. - Stocke une version XML de chaque enregistrement archivé dans la table sys_archive_log. Ce journal d’archivage est la même table pour toutes les règles d’archivage, et vous ne pouvez pas modifier ce comportement. C’est également le seul endroit où le sys_id est stocké avec la valeur d’affichage des champs de référence.
ar_incident <assigned_to>Fred Luddy</assigned_to>, l’enregistrement sys_archive_log est le suivant :
<assigned_to display_value="Fred Luddy">5137153cc611227c000bbd1bd8cd2005</assigned_to>- Convertit plusieurs tables jointes en une seule table d’archive à fichier plat. La table d’archivage n’est plus constituée d’une table de base et d’une table étendue.
- Convertit les valeurs de champ de référence (valeurs définies par les références aux enregistrements dans d’autres tables) en valeurs de chaîne. L’enregistrement d’archive contient la valeur d’affichage du champ de référence au moment de l’archivage.
- Ajoute un module à la liste Tables d’archivage de l’application Archivage système . Le nom du module est une combinaison du mot « Archive » et du nom d’affichage de la table archivée. Par exemple, le module d’archivage de la table Pièce jointe
[sys_attachments]est Archiver la pièce jointe. Cliquez sur le nom du module pour afficher les enregistrements dans la table d’archivage. - Crée une liste de la table d’archivage à l’aide de la vue de liste par défaut.
- Crée un formulaire pour la table d’archivage à l’aide de la vue de formulaire par défaut. Le formulaire exclut tous les champs de remontée pas à pas tels que l’ID.Email de l’appelant.
Interroger les données archivées
Les tables archivées ne sont pas optimisées pour les requêtes ad hoc. Ils ne contiennent que des entrées d’index pour la valeur d’affichage, la date de création et la clé primaire de sys_id.
Pour cette raison, n’effectuez pas de requêtes à la demande sur une table archivée, telles que la recherche de tous les incidents archivés de priorité 1. Au lieu de cela, effectuez une recherche uniquement dans les champs indexés. Par exemple, recherchez des INC100001 d’incident ou des incidents créés à une date spécifique.
Tables d’archivage et ACL
Par défaut, les tables d’archivage utilisent les ACL de la table non archivée du même nom. Par exemple, la table Incident [ar_incident] archivé utilise les ACL définies pour la table Incident [incident] non archivée.
- Si une ou plusieurs ACL actives sont définies pour une table d’archivage, ces ACL contrôlent l’accès à la table d’archivage.
- Si aucune ACL n’est définie pour une table d’archivage, le système revient au comportement par défaut et utilise les ACL pour la version non archivée de la table.
L’opération de lecture read est la seule opération évaluée, et les autres opérations sont empêchées.
L’interface utilisateur du plan d’exécution est consciente de cette logique et présente les informations en conséquence. Par exemple, l’ajout de la première ACL à une table d’archivage montre que l’ACL de la table d’archivage « masque » les ACL sur la table non archivée (données d’origine).
- Les instances sans la glide.security.enable_archive_table_acls propriété utilisent la valeur par défaut faux.
- Les instances mises à niveau n’installent pas la propriété. La propriété doit être ajoutée manuellement et définie sur vrai pour activer le comportement ACL de la table d’archivage.
- Les instances zbooted installent la propriété et la définir sur true.