In der SAS©® Viya™™-Architektur basiert das effiziente Datenmanagement auf einem grundlegenden Konzept: der Caslib. Eine Caslib ist ein In-Memory-Speicherbereich auf dem CAS-Server (Cloud Analytics Services), der für die Aufnahme von Tabellen, Zugriffskontrollen und Informationen zu Datenquellen vorgesehen ist.
Dieser Artikel untersucht die verschiedenen Typen von Caslibs, ihren Geltungsbereich (Scope) und wie sie über SAS©-Code manipuliert werden können, wobei der Schwerpunkt auf Best Practices für das Laden und Teilen von Daten liegt.
Was ist eine Caslib?
Eine Caslib fungiert als einheitlicher Zugriffspunkt. Sie ermöglicht die Verbindung des CAS-Servers mit:
Externen Datenquellen (Dateien, Datenbanken wie Oracle oder Hadoop).
In-Memory-Tabellen, die auf den CAS-Server geladen wurden.
Sie ordnet auch Zugriffskontrollen zu, die definieren, welche Benutzergruppen oder Einzelpersonen berechtigt sind, mit den Daten zu interagieren.
Die Typen von Caslibs
Es gibt drei Hauptkategorien von Caslibs, die sich durch die Art ihrer Erstellung und Verwaltung definieren:
1. Persönliche Caslib
Diese Bibliothek wird bei der Installation des CAS-Servers konfiguriert. Wenn eine CAS-Sitzung initiiert wird, ist die persönliche Caslib immer mit globalem Geltungsbereich für den aktuellen Benutzer verfügbar. Sie ermöglicht den Zugriff auf CAS-Tabellen von jeder Sitzung, die dieselbe Benutzer-ID verwendet (z. B. casuser).
2. Vordefinierte Caslib
Diese Bibliotheken werden von CAS-Administratoren verwaltet und haben einen globalen Geltungsbereich. Sie werden in der Regel für beliebte Datenquellen verwendet, die von einer Vielzahl von Benutzern gemeinsam genutzt werden (z. B. eine gemeinsame Hadoop-Hive- oder Oracle-Verbindung für das gesamte Team). Der Administrator verwaltet die Zugriffsberechtigungen.
3. Manuell hinzugefügte Caslib
Autorisierte Benutzer können Caslibs über eine CASLIB-Anweisung (z. B. in SAS©® Studio) hinzufügen. Dies ist die bevorzugte Methode für Ad-hoc-Datenzugriffe, wenn der Benutzer die Daten nicht unbedingt mit dem gesamten Server teilen möchte.
Der Geltungsbereich von Caslibs: Sitzung vs. Global
Der Begriff des Geltungsbereichs (Scope) ist entscheidend für das Verständnis der Sichtbarkeit und Persistenz von Daten.
Caslib mit Sitzungs-Geltungsbereich (Session-Scope)
Wenn eine Caslib ohne die Option GLOBAL definiert wird, ist sie auf die aktuelle Sitzung beschränkt.
Verfügbarkeit: In dieser Caslib geladene Tabellen sind nur für die spezifische CAS-Sitzung des Benutzers sichtbar.
Persistenz: Wenn der Benutzer eine neue Sitzung öffnet, sind die Caslib und ihre Tabellen nicht mehr zugänglich.
Code-Beispiel (Session-Scope):
Der unten stehende Code erstellt eine lokale Hive-Verbindung zur Sitzung. Beachten Sie das Fehlen der Option GLOBAL und der Option PROMOTE.