FedSQL ist eine proprietäre SAS
©-Implementierung des
ANSI SQL:1999-Standards, die neue Datentypen und Erweiterungen integriert. Es zeichnet sich durch seine Fähigkeit aus, große Mengen relationaler Daten skalierbar, multithreaded und leistungsstark aus verschiedenen Quellen zu verwalten. Seine Besonderheit ist die Bereitstellung einer einheitlichen und anbieterunabhängigen SQL-Syntax, wodurch die Notwendigkeit entfällt, Abfragen an die spezifischen SQL-Dialekte jeder Datenquelle anzupassen. Eine einzelne
FedSQL-Abfrage kann mehrere Quellen abfragen, um ein konsolidiertes Ergebnis zu erzeugen. Die Kompatibilität von
FedSQL mit Datenquellen in der
SAS© Viya™ Platform ist identisch mit der von
SAS© 9.4 und erfordert die entsprechende
SAS©/ACCESS-Software.
Bei Verwendung mit dem SAS
© Compute Server funktioniert
FedSQL ähnlich wie
SAS© 9.4, indem es seine erweiterten Datentypen zur Verarbeitung von Drittanbieterdaten verwendet. Es unterstützt impliziten und partiellen SQL-Pass-Through sowie expliziten Pass-Through über die CONNECTION TO-Klausel von SELECT- und EXECUTE-Anweisungen.
FedSQL-Anweisungen werden über PROC
FEDSQL übermittelt, das Abfragen standardmäßig an eine SAS
©-Bibliothek leitet. Der Zugriff auf SAS
©- und Drittanbieterdaten erfolgt über einen zweiteiligen Namen (
libref.table-name) oder die SAS
© Work-Bibliothek, wenn nur der Tabellenname angegeben ist.
Auf dem CAS Server ist die Unterstützung von
FedSQL eingeschränkter und beschränkt sich auf die Anweisungen CREATE TABLE (mit der AS-Expression), SELECT und DROP TABLE.
FedSQL unterstützt impliziten SQL-Pass-Through für vollständige Abfragen, was bedeutet, dass die gesamte Abfrage von der Datenquelle verarbeitet werden können muss. Der explizite SQL-Pass-Through ist auf die CONNECTION TO-Komponente der FROM-Klausel der
FedSQL SELECT-Anweisung beschränkt. Daten, die auf dem CAS Server verarbeitet werden, entsprechen den CAS-Datentypen.
FedSQL-Abfragen können an den CAS Server über PROC
FEDSQL (durch Angabe der Optionen
SESSREF= oder
SESSUUID=) oder über die Aktion
fedSql.execDirect übermittelt werden, die über
CASL-, Python-, Lua- und R-Sitzungen zugänglich ist. Daten können mit PROC
CASUTIL oder der Aktion table.loadTable in die CAS-Sitzung vorgeladen oder bei Bedarf über eine globale oder lokale
Caslib geladen werden, indem Tabellen über einen zweiteiligen Namen (
caslib.table-name) referenziert werden. Alle Daten in einer CAS-Sitzung verbleiben für die Dauer der Benutzersitzung im Speicher; zusätzliche CAS-Aktionen sind erforderlich, um Tabellen zu promoten oder zu speichern.
FedSQL auf dem CAS Server unterstützt Datenquellen, für die entsprechende SAS
©-Datenkonnektoren verfügbar sind.