table attribute

Scénario Performance : Audit d'un Traitement Batch sur Volumétrie

Scénario de test & Cas d'usage

Contexte Métier

Une entreprise de e-commerce exécute un traitement batch nocturne sur des millions de transactions. Il est impératif de 'taguer' la table principale avec des métadonnées d'exécution (ID du batch, timestamp) et de les archiver dans une table de log à des fins d'audit, sans impacter les performances.
À propos du Set : table

Chargement, sauvegarde et gestion des tables en mémoire.

Découvrir toutes les actions de table
Préparation des Données

Création d'une table de transactions volumineuse pour simuler un contexte de performance.

Copié !
1DATA casuser.TRANSACTIONS_VOLUMINEUSES;
2 DO i = 1 to 500000;
3 ID_TXN = i;
4 MONTANT = rand('UNIFORM') * 1000;
5 OUTPUT;
6 END;
7RUN;

Étapes de réalisation

1
Ajout des attributs initiaux d'exécution du batch (BatchID, StartTime) sur la table volumineuse.
Copié !
1PROC CAS;
2 TABLE.attribute /
3 caslib='casuser',
4 name='TRANSACTIONS_VOLUMINEUSES',
5 task='ADD',
6 SET='BatchAudit',
7 attributes=[
8 {key='BatchID', value='B20251126_01'},
9 {key='StartTime', value='2025-11-26T02:00:00'}
10 ];
11RUN;
2
Mise à jour d'un attribut et ajout d'un nouvel attribut 'EndTime' à la fin du traitement simulé.
Copié !
1PROC CAS;
2 TABLE.attribute /
3 caslib='casuser',
4 name='TRANSACTIONS_VOLUMINEUSES',
5 task='UPDATE',
6 SET='BatchAudit',
7 attributes=[
8 {key='Status', value='Completed'}
9 ];
10 TABLE.attribute /
11 caslib='casuser',
12 name='TRANSACTIONS_VOLUMINEUSES',
13 task='ADD',
14 SET='BatchAudit',
15 attributes=[
16 {key='EndTime', value='2025-11-26T02:15:00'}
17 ];
18RUN;
3
Conversion de tous les attributs du set 'BatchAudit' vers une table de log permanente pour l'archivage.
Copié !
1PROC CAS;
2 TABLE.attribute /
3 caslib='casuser',
4 name='TRANSACTIONS_VOLUMINEUSES',
5 task='CONVERT',
6 SET='BatchAudit',
7 TABLE={name='LOG_AUDIT_BATCH', caslib='casuser', replace=true};
8RUN;
9QUIT;

Résultat Attendu


L'action doit s'exécuter rapidement malgré la taille de la table. Une nouvelle table CAS nommée 'LOG_AUDIT_BATCH' doit être créée dans la caslib 'casuser'. Cette table doit contenir 4 lignes, correspondant aux attributs 'BatchID', 'StartTime', 'Status', et 'EndTime' avec leurs valeurs respectives, fournissant une trace d'audit complète du traitement.