Publié le :

FedSQL

Ce code est également disponible en : Deutsch English Español
FedSQL est une implémentation propriétaire par SAS© du standard ANSI SQL:1999, intégrant de nouveaux types de données et des extensions. Il se distingue par sa capacité à gérer de larges volumes de données relationnelles de manière évolutive, multithreadée et performante, depuis diverses sources. Sa particularité est d'offrir une syntaxe SQL unifiée et indépendante du fournisseur, éliminant le besoin d'adapter les requêtes aux dialectes SQL spécifiques de chaque source de données. Une seule requête FedSQL peut interroger plusieurs sources pour produire un ensemble de résultats consolidé. La compatibilité de FedSQL avec les sources de données dans SAS© Viya Platform est identique à celle de SAS© 9.4, nécessitant un logiciel SAS©/ACCESS approprié.
Lors de l'utilisation avec le SAS© Compute Server, FedSQL fonctionne de manière similaire à SAS© 9.4, en utilisant ses types de données étendus pour traiter les données tierces. Il prend en charge le pass-through SQL implicite et partiel, ainsi que le pass-through explicite via la clause CONNECTION TO des instructions SELECT et EXECUTE. Les instructions FedSQL sont soumises via PROC FEDSQL, qui par défaut dirige les requêtes vers une bibliothèque SAS©. L'accès aux données SAS© et tierces se fait en utilisant un nom en deux parties (libref.table-name), ou la bibliothèque SAS© Work si seul le nom de table est spécifié.
Sur le CAS Server, le support de FedSQL est plus restreint, se limitant aux instructions CREATE TABLE (avec l'expression AS), SELECT et DROP TABLE. FedSQL supporte le pass-through SQL implicite pour les requêtes complètes, ce qui implique que l'intégralité de la requête doit pouvoir être traitée par la source de données. Le pass-through SQL explicite est limité au composant CONNECTION TO de la clause FROM de l'instruction FedSQL SELECT. Les données traitées sur le CAS Server adhèrent aux types de données CAS. Les requêtes FedSQL peuvent être soumises au CAS Server via PROC FEDSQL (en spécifiant les options SESSREF= ou SESSUUID=) ou via l'action fedSql.execDirect, accessible depuis les sessions CASL, Python, Lua et R. Les données peuvent être préchargées dans la session CAS avec PROC CASUTIL ou l'action table.loadTable, ou chargées à la demande via une caslib globale ou locale, en référençant les tables par un nom en deux parties (caslib.table-name). Toutes les données dans une session CAS résident en mémoire pour la durée de la session utilisateur ; des actions CAS supplémentaires sont requises pour promouvoir ou sauvegarder les tables. FedSQL sur le CAS Server supporte les sources de données pour lesquelles des connecteurs de données SAS© appropriés sont disponibles.