simple compare

Performance-Vergleich von Transaktionsprotokollen (Volumen)

Scénario de test & Cas d'usage

Geschäftskontext

Eine Bank verarbeitet Millionen von Transaktionen pro Nacht. Um die Datenintegrität zwischen dem Haupt-Transaktionsserver und dem Backup-System sicherzustellen, müssen die Protokolle verglichen werden. Da die Datenmenge groß ist und viele einzigartige Transaktions-IDs (Gruppen) vorhanden sind, ist die Performance kritisch. Es wird die Option 'sparse' verwendet, um die Verarbeitung auf dem verteilten CAS-Server zu optimieren.
Datenaufbereitung

Simulation von High-Volume-Transaktionslogs. 'main_log' hat 100.000 Einträge, 'backup_log' hat fehlende Einträge alle 100 Transaktionen.

Kopiert!
1 
2DATA casuser.main_log;
3DO tx_id = 1 to 100000;
4OUTPUT;
5END;
6 
7RUN;
8 
9DATA casuser.backup_log;
10DO tx_id = 1 to 100000;
11IF mod(tx_id, 100) ne 0 THEN OUTPUT;
12END;
13 
14RUN;
15 

Étapes de réalisation

1
Ausführung des Vergleichs mit Performance-Optimierung (sparse=True) und Reduzierung der Ausgabespalten.
Kopiert!
1 
2PROC CAS;
3SIMPLE.compare / TABLE={name='main_log'} table2={name='backup_log'} inputs={'tx_id'} sparse=TRUE generatedColumns={'GROUPID', 'FREQUENCY'} casOut={name='fehlend_im_backup', replace=true};
4 
5RUN;
6 

Erwartetes Ergebnis


Die Aktion sollte effizient ausgeführt werden und die Tabelle 'fehlend_im_backup' erzeugen, die genau 1000 Datensätze enthält (diejenigen, die im Backup fehlen: 100, 200, 300, etc.). Durch 'sparse=TRUE' wird die Speicher- und CPU-Nutzung optimiert.