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.
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.
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.
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.
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.
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).
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.
En tant qu'administrateur, ce comportement dicte deux bonnes pratiques :
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.
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.