Gestion des données in-memory dans CAS

Cet article en deux mots :

Plongez au cœur de la gestion des données in-memory de SAS Viya CAS. Ce guide simplifie les concepts liés au CAS_DISK_CACHE, au format SASHDAT et au memory-mapping. Découvrez les bonnes pratiques pour équilibrer RAM et mémoire virtuelle afin d'optimiser vos performances analytiques.

La manière dont le serveur SAS Viya Cloud Analytic ServicesMoteur d'exécution in-memory de SAS Viya. Il assure le traitement massivement parallèle (MPP) et distribué des données pour optimiser les performances analytiques et le passage à l'échelle. (CAS) gère les données en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
est un sujet complexe. Il y a de nombreuses subtilités et possibilités à aborder, ce qui le rend compliqué. J'aborde le sujet dans plusieurs articles, cependant, la plupart de ces comportements peuvent être réduits à quelques règles simples qui décrivent suffisamment la majorité des situations. Cet article vous fournira un guide concis mais illustratif sur le fonctionnement interne de la gestion des données en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
par CAS.

Le CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements.

L'une des nombreuses nouvelles fonctionnalités de SAS Cloud Analytics Services (CAS) par rapport au LASR (le moteur in-memoryTechnique stockant les données directement dans la RAM pour un accès ultra-rapide, permettant des analyses massives et calculs complexes en temps réel sans les latences liées aux disques durs. de SAS 9 ) est la possibilité d'utiliser une mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
cache comme réserve de stockage pour les données en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
. Cette mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
cache offre une flexibilité pour les opérations en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
, garantissant que le CAS :

  • Maintient la disponibilité des tables lorsque plus de données sont chargées que de RAM physique disponible.
  • Fournit une protection en cas de défaillance imprévue d'un worker CAS.

Pour améliorer l'efficacité de la mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
, CAS organise les données en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
en blocs et effectue une cartographie en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
de ces blocs. Les blocs sont stockés sous forme de fichiers temporaires, le CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements.

La taille requise pour ce cache varie pour chaque déploiement, mais peut aller jusqu'à faire plusieurs téraoctets.

La structure des répertoires doit être identique sur chaque contrôleur et chaque worker, mais le contrôleur n'a pas besoin du même volume d'espace que chaque worker( Le contrôleur utilise également temporairement le répertoire de cache pour stocker les fichiers téléchargés.)

Les données in-memoryTechnique stockant les données directement dans la RAM pour un accès ultra-rapide, permettant des analyses massives et calculs complexes en temps réel sans les latences liées aux disques durs. et le CAS_CACHE_DISK

Le memory-mapping associe une adresse dans la RAM à un emplacement dans un espace de stockage localement accessible, le CAS_CACHE_DISK

La plupart du temps, le CAS va mapper en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
toutes les données chargées vers le CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements.. Cependant, le CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. n'est pas la seule réserve de stockage pour les données en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
.

Si les données sources d'origine sont déjà au format SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping). non chiffré et accessibles via un stockage local, alors le CAS les mappera en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
vers cet emplacement comme réserve de stockage, mais uniquement pour les données sources. J'en parle dans la section suivante.

Toutes les modifications apportées aux données en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
sont exclusivement mappées en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
vers le CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements..

CAS s'appuie sur le système d'exploitation pour gérer les déplacements des données entre la ram physique ou dans le CAS_CACHE_DISK. C'est le système d'exploitation qui déplace les données vers/depuis le
CAS_CACHE_DISK . Voici une explication simplifiée : Le CAS place initialement les données soit en RAM soit sur le disque, puis crée la table
memory map. Ensuite, CAS fait référence à l'emplacement en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
des données dont il a besoin. Si les données sont déjà en RAM, c'est parfait, elles sont instantanément disponibles. Sinon, le système d'exploitation fait un "page in" les données depuis le CAS_CACHE_DISK à l'extrémité de la memory map. De même, si des données en RAM ne sont pas utilisées et que le système d'exploitation détermine qu'il doit libérer cet espace pour d'autres tâches, le système d'exploitation va automatiquement executer un page de ces données sur le disque

Il existe d'autres situations non abordées ici, mais l'idée générale est que le système d'exploitation gère très efficacement l'accès aux données grâce aux tables de mappage en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
.

Cette approche fournit efficacement un schéma de mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
virtuelle qui augmente la quantité de données que le CAS peut prendre en charge et traiter, réduisant ainsi le besoin d'une gestion manuelle de la disponibilité des tables en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
.

SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping)., le format des données in-memoryTechnique stockant les données directement dans la RAM pour un accès ultra-rapide, permettant des analyses massives et calculs complexes en temps réel sans les latences liées aux disques durs.

CAS analyse les données au format SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping)., quel que soit leur format d'origine. Les données chargées dans le CAS peuvent provenir de diverses sources et formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. grâce à la technologie SAS Data Connector. Et bien sûr, le CAS peut également réécrire ces données dans de nombreux autres formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya..

Cependant, les données en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
du CAS sont exclusivement au format SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping)., quelle que soit leur source d'origine ou leur destination finale. La structure SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping). est optimisée pour le traitement analytique distribué.

Lorsque une caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance. pointe vers une source de données au format SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping). accessible en local, CAS effectue une cartographie en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
directement vers l'emplacement source (et il n'utilise donc pas CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. pour soutenir ces blocs). La création des cartes en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
est une opération mineure et rapide. Ainsi, lorsque la directive loadTableAction d'action CAS permettant de charger une table en mémoire depuis un caslib. Elle rend les données disponibles pour l'analyse analytique distribuée et le traitement haute performance. est exécutée, CAS charge cette table SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping). extrêmement rapidement, beaucoup plus rapidement que ce qui serait physiquement possible. Cela s'explique par le fait qu'il construit simplement ces cartes en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
à ce moment-là.

C'est lorsque les données sont consultées par CAS pour des travaux d'analyse que le système d'exploitation réalise que les données ne sont pas encore en RAM, et il met alors les données en page depuis le disque source (ce qui signifie que le premier travail d'analyse doit attendre plus longtemps que les suivants).

Pour les tables SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping). vraiment volumineuses, envisagez d'exécuter une tâche préliminaire qui forcera le système d'exploitation à mettre en page les données avant que de véritables utilisateurs finaux ne tentent d'y accéder.

Le CAS_CACHE_DISK et la réplication

CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. est l'endroit où toutes les copies répliquées des données sont stockées En plus de servir de backend de stockage de mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
virtuelle, CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. assure également la protection des données pour les travailleurs CAS. Des copies supplémentaires de blocs SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping). peuvent être stockées dans CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements., de sorte qu'une table SASHDATSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping). complète reste disponible même si un travailleur CAS tombe en panne (emportant avec lui sa portion de blocs de données).

Conclusion

Ces règles visent simplement à décrire une compréhension de base du fonctionnement du CAS en ce qui concerne les données en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
. Il existe de nombreuses considérations de configuration et de programmation disponibles pour traiter une large gamme de scénarios différents qui ne suivent pas ces règles. Cependant, je trouve que ces règles fournissent un bon point de départ pour explorer ces variations.

En tant que schéma de mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
virtuelle, l'idée est que CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. offre une résilience lorsqu'il y a une pression excessive sur la RAM en raison de la quantité de données. Vous l'avez compris, si nécessaire, les tables en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
peuvent être mises en page vers le cache CAS via les mappages en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
. Après tout, il est préférable que CAS fonctionne lentement lors de l'accès à une table rarement utilisée que de rencontrer des problèmes de mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
insuffisante. Cependant, il existe certains éléments CAS pour lesquels il n'y a pas de mappage en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
- ils doivent rester en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
pour que CAS fonctionne. Le point ici est que CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. n'est pas suffisant pour toutes les opérations de mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
virtuelle, alors faites attention lorsque vous comptez sur lui. Je vous recommande la lecture de l'article When is CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. used?

Il est important de comprendre que CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. est une considération cruciale dans la configuration de la machine hôte. Il doit être pris en compte en termes de taille et de performances avec du matériel réel lors du dimensionnement approprié d'une solution SAS Viya.

Cependant, la mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
virtuelle ne fournit pas des performances équivalentes à la RAM. Elle est beaucoup, beaucoup plus lente. Pour maintenir des performances réactives, il est plus important de s'assurer que les hôtes CAS disposent d'une quantité suffisante de RAM en premier lieu. Priorisez vos investissements sur la RAM en premier lieu.

Réferences

Provisioning CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. for SAS Viya

When is CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. used?

Get The Most From SAS Cloud Analytic ServicesMoteur analytique distribué et en mémoire (in-memory) au cœur de SAS Viya. Il assure le traitement des données et l'exécution des modèles avec une très haute performance.

What You Need To Know When Administering A SAS Viya Linux Environment

Monitorer la consommation des ressources CAS

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.