Guide SAS VIYA

Architecture CAS : Comprendre le cycle de vie des données en mémoire

Michael 10 vistas
Nivel de dificultad
Débutant
Publicado el :
Michael

Consejo del experto

Michael

Ne confondez jamais disponibilité en mémoire et sauvegarde physique : dans l'architecture CAS, la RAM est un espace de travail temporaire, non un lieu de stockage. Pour sécuriser vos transformations de données face à un redémarrage de service, bannissez l'attente d'une sauvegarde automatique qui n'existe pas. La bonne pratique est d'industrialiser la persistance de vos tables critiques sur disque (idéalement au format .sashdat pour la performance) dès la fin de vos traitements. »

En tant qu'administrateur SAS© Viya, il est crucial de bien saisir la distinction fondamentale entre le stockage physique (disque) et le traitement en mémoire (RAM). Cette distinction est au cœur du fonctionnement de Cloud Analytic Services (CAS), le moteur analytique haute performance de Viya.

Une question revient souvent chez les nouveaux utilisateurs ou architectes : "Si je redémarre mon serveur CAS ou s'il s'arrête, est-ce que je perds mes données ?"

La réponse courte est : Oui pour la mémoire, Non pour la source. Analysons cela en détail.

La nature volatile de la RAM

Le moteur CAS est conçu pour la vitesse. Pour atteindre cette performance, il charge les données dans la mémoire vive (RAM) du serveur (ou des nœuds, dans une architecture distribuée). C'est ce qu'on appelle une table en mémoire (In-memory table).

Par définition informatique, la RAM est une mémoire volatile. Elle a besoin d'alimentation électrique pour conserver l'information.

Que se passe-t-il lors de l'arrêt du serveur CAS ?

Lorsque le service CAS s'arrête (que ce soit un arrêt planifié pour maintenance, un redémarrage de service, ou un crash), l'alimentation de l'espace mémoire alloué est coupée.

  1. Suppression immédiate : Toutes les tables actuellement chargées en mémoire sont instantanément "oubliées" ou supprimées (dropped). Elles disparaissent de l'environnement actif.

  2. Pas de sauvegarde automatique : Contrairement à certaines idées reçues, CAS ne déclenche pas un mécanisme de sauvegarde d'urgence ("autosave") pour écrire le contenu de la RAM sur le disque juste avant de s'éteindre. Si vous avez fait des modifications sur une table en mémoire sans appeler explicitement une action de sauvegarde (comme table.save), ces modifications sont perdues.

  3. Pas de migration magique : Les tables ne sont pas "téléportées" ou promues vers un autre serveur CAS de secours automatiquement (sauf architectures de haute disponibilité très spécifiques et complexes avec réplication active, mais dans le cas standard, la session meurt avec le serveur).

La sécurité des fichiers persistants

C'est ici que la distinction est vitale. Si les tables en mémoire disparaissent, les fichiers sources (Persisted files), eux, ne sont absolument pas affectés.

  • L'intégrité des données : Vos fichiers .sashdat, .csv, .sas©7bdat ou vos tables dans des bases de données (Oracle, PostgreSQL, etc.) qui résident sur le disque dur ou dans le système de stockage restent intacts.

  • Le principe de chargement : Le serveur CAS ne fait que lire ces fichiers pour créer une copie en mémoire. L'arrêt du serveur détruit la copie, pas l'original.

L'analogie du tableau blanc : Imaginez le serveur CAS comme un immense tableau blanc (RAM) et vos données comme un livre dans une bibliothèque (Disque). Pour travailler, vous recopiez des pages du livre sur le tableau blanc. Si on éteint la lumière (arrêt du serveur), on ne voit plus le tableau blanc (données en mémoire perdues). Cependant, le livre dans la bibliothèque (fichier persistant) est toujours là, intact.

Conséquences pour l'administration

En tant qu'administrateur, ce comportement dicte deux bonnes pratiques :

  1. Sauvegarde explicite : Formez vos utilisateurs à sauvegarder leurs résultats intermédiaires sur le disque (Action Save) s'ils souhaitent les conserver après une session.

  2. Stratégie de rechargement : Après un redémarrage de maintenance de SAS© Viya, la mémoire CAS est vide. Vous devez prévoir des mécanismes pour recharger les tables critiques.