Components of SAS Federation Server

Introduction

SAS Federation Server consists of a set of components that provide the functionality that is required by data integration, business intelligence, and analytic processing. For example, SAS Federation Server provides several types of drivers and two interfaces that you use to connect to the server. The following topics describe each component.

Federation Server Drivers

A SAS Federation Server driver interacts with a data source to read and write proprietary file formats. Each supported data source has a driver that communicates with the data service in its own language to resolve data access requests, and to manage physical files and database tables. For example, to process an SAP table, an application uses the Driver for SAP, and to process an Oracle table, an application uses the Driver for Oracle.
A Federation Server driver provides connectivity to and from the data source, submits SQL statements to the data source, and sends data to and from the data source. That is, a Federation Server driver receives an SQL expression as input and returns the result as output. Each Federation Server driver supports the database functionality of the underlying data source.
For more information about data sources and SAS Federation Server drivers, see Overview.

Language Driver

Language drivers implement the SAS® Federation Server languages by processing a request and sending the parsed query to the appropriate Federation Server driver that satisfies the request and returns the result. The multi-threaded languages provide a powerful way to create and query data.

FedSQL

FedSQL is the implementation of SQL that SAS Federation Server uses to access relational data. FedSQL is designed to be ANSI SQL:1999 core compliant with some extensions.
For applications, FedSQL provides a common SQL syntax across all data sources. That is, FedSQL is a vendor-neutral SQL dialect that accesses data from various data sources without requiring the application to submit queries in the SQL dialect that is native to the data source. In addition, a single FedSQL query can target data in several data sources and can return a single result set. When possible, FedSQL queries are optimized with multi-threaded algorithms to resolve large-scale operations.
The FedSQL language driver parses FedSQL requests, and then sends the parsed query to the appropriate Federation Server driver to determine whether the functionality can be handled by the data source.
For the SAS Federation Server Driver for Base SAS, the parsed FedSQL request is interpreted 'as is' because FedSQL is the native SQL dialect for the BASE data service.
For the relational database drivers, if the data source supports the functionality, then the FedSQL request is translated to the data source's native SQL dialect. By enabling as much functionality as possible to be handled by the data source, performance is enhanced. However, if a data source does not support the requested functionality, then the FedSQL language driver attempts to compensate by completing the balance of the operation.
For complete FedSQL statement reference, see theSAS FedSQL Reference Guide.