Datenarchivierung
Die Datenarchivierung umfasst die Verwaltung des Wachstums der Tabellengröße und die Archivierung alter Daten. Sie verschiebt Daten, die nicht mehr täglich benötigt werden, aus Primärtabellen in eine Reihe von Archivtabellen.
Je länger eine Instanz ausgeführt wird, desto wahrscheinlicher ist es, dass sich Daten ansammeln, die nicht mehr relevant sind. Zum Beispiel sind Aufgabendatensätze von vor zwei Jahren in der Regel weniger relevant als derzeit aktive Aufgaben. Alte Daten können schließlich Leistungsprobleme verursachen, indem sie Systemressourcen verbrauchen und Abfragen und Berichte verlangsamen.
- Richten Sie eine Archivierungsregel ein, die die Daten archiviert und aus dem sofortigen Zugriff entfernt, um Systemressourcen freizugeben.
- Richten Sie eine Vernichtungsregel ein, um die Daten nach einem bestimmten Zeitraum zu löschen.
- Konfigurieren Sie die Eigenschaften der Archivierungs- und Vernichtungsregel, die die Stapelverarbeitung der Archivierungs- und Vernichtungsregeln steuern.
Sie können Datensätze in Kerntabellen wie die Aufgabentabelle [task] und Datensätze in benutzerdefinierten Tabellen archivieren, die Sie im Now Platformerstellen.
Um Configuration Management Database (CMDB) CI-Datensätze zu archivieren, verwenden Sie Working with CMDB Data Manager.
Die Datenarchivierung unterstützt die Domänentrennung für Service Provider. Beispielsweise behalten Incidents, die zu einer Domäne gehören, ihre Domänenbezeichnung bei, auch nachdem sie archiviert wurden.
Tabellen und Module, die von einer Archivregel erstellt wurden
Wenn Sie eine Archivierungsregel zum ersten Mal aktivieren, werden die folgenden Aktionen ausgeführt:
- Erstellt die Archivtabelle in der Datenbank. Die Archivtabelle hat denselben Namen wie die primäre Tabelle mit dem Präfix „ar_“. Wenn Sie beispielsweise die Incident-Tabelle
[incident]archivieren, lautet die Archivtabelle[ar_incident]. - Speichert eine XML-Version jedes archivierten Datensatzes in der Tabelle „sys_archive_log“. Dieses Archivprotokoll ist für alle Archivregeln dieselbe Tabelle, und Sie können dieses Verhalten nicht ändern. Dies ist auch der einzige Ort, an dem die sys_id zusammen mit dem Anzeigewert für Referenzfelder gespeichert wird.
Fred Luddy</assigned_to> , lautet der sys_archive_log-Datensatz wie folgt:
<assigned_to display_value="Fred Luddy">5137153cc611227c000bbd1bd8cd2005</assigned_to>- Konvertiert mehrere verbundene Tabellen in eine einzelne Flatfile-Archivtabelle. Die Archivtabelle besteht nicht mehr aus einer Basistabelle und erweiterten Tabellen.
- Konvertiert Referenzfeldwerte (Werte, die durch Verweise auf Datensätze in anderen Tabellen festgelegt werden) in Zeichenfolgenwerte. Der Archivdatensatz enthält den Anzeigewert des Referenzfelds zum Zeitpunkt der Archivierung.
- Fügt der Liste „ Archivtabellen “ in der Anwendung „Systemarchivierung“ ein Modul hinzu. Der Modulname ist eine Kombination aus dem Wort „Archiv“ und dem Anzeigenamen für die archivierte Tabelle. Das Archivmodul für die Tabelle „Anhang
“ [sys_attachments]lautet beispielsweise Archive Attachment(Anhang archivieren). Klicken Sie auf den Modulnamen, um Datensätze in der Archivtabelle anzuzeigen. - Erstellt eine Liste der Archivtabelle in der Standardlistenansicht.
- Erstellt ein Formular für die Archivtabelle in der Standardformularansicht. Das Formular schließt Dot-Walking- Felder wie Caller ID.Email aus.
Archivierte Daten abfragen
Archivierte Tabellen sind nicht für Ad-hoc-Abfragen optimiert. Sie enthalten nur Indexeinträge für den Anzeigewert, das Erstellungsdatum und den Primärschlüssel von sys_id.
Führen Sie aus diesem Grund keine On-Demand-Abfragen für eine archivierte Tabelle durch, z. B. die Suche nach allen archivierten Incidents mit Priorität 1. Suchen Sie stattdessen nur in den indizierten Feldern. Suchen Sie beispielsweise nach Incident INC100001 oder Incidents, die an einem bestimmten Datum erstellt wurden.
Archivtabellen und ACLs
Standardmäßig verwenden Archivtabellen die ACLs für die nicht archivierte Tabelle mit demselben Namen. Beispielsweise verwendet die archivierte Incident-Tabelle [ar_incident] die ACLs, die für die nicht archivierte Incident-Tabelle [incident] definiert sind.
- Wenn eine oder mehrere aktive ACLs für eine Archivtabelle definiert sind, steuern diese ACLs den Zugriff auf die Archivtabelle.
- Wenn für eine Archivtabelle keine ACLs definiert sind, kehrt das System zum Standardverhalten zurück und verwendet die ACLs für die nicht archivierte Version der Tabelle.
Der Lesevorgang „read “ ist der einzige ausgewertete Vorgang, und andere Vorgänge werden verhindert.
Die Ausführungsplan-UI erkennt diese Logik und stellt die Informationen entsprechend dar. Wenn Sie beispielsweise die erste ACL zu einer Archivtabelle hinzufügen, zeigt die Archivtabellen-ACL ACLs in der nicht archivierten Tabelle (Originaldaten).
- Instanzen ohne die Eigenschaft glide.security.enable_archive_table_acls verwenden den Standardwert false.
- Bei aktualisierten Instanzen wird die Eigenschaft nicht installiert. Die Eigenschaft muss manuell hinzugefügt und auf „ true “ festgelegt werden, um das ACL-Verhalten der Archivtabelle zu aktivieren.
- Zboot-Instanzen installieren die Eigenschaft und legen sie auf truefest.