08-02-2015 03:09 PM
Other articles on the SAS Data Management community board have extolled the virtues of SAS Federation Server to meet various data virtualization requirements. Most savvy data management users understand that one of the major benefits of data virtualization is reducing complex data integration work to individual data views that can easily be consumed by business users (or other applications) as the basis for report building or advanced analytics. But there’s more than meets the eye with SAS Federation Server. It has several features that elevate it to an enterprise class solution for even the most challenging data virtualization problems.
Data security is a must for data-centric projects. SAS Federation Server allows detailed control of who can access and view tables, rows and columns in most any view it manages. This puts control of the use of sensitive data in the hands of administrators in a single location rather than having them fiddle with access rights in a multitude of individual databases systems.
Data caching can be used to improve the performance of querying frequently-accessed data sources by minimizing the load on databases servers. Resource use can be reduced for high-availability data sources by caching data that is used often rather than fetching it over and over again. SAS Federation Server can also cache resources related to authentication and privileges. This can reduce the overhead of establishing usage rights that can become burdensome when thousands of queries are being managed by SAS Federation Server.
Reporting or analysis on data beyond tens of thousands of rows will demand appropriate hardware and specialized techniques to take full advantage of that hardware’s resources. For SAS Federation Server, performance boosts can be obtained with the use of multi-threaded processes on a single processor machine or in an environment in which multiple processors work in parallel.
A threaded service is a method of processing that divides a large job into several smaller jobs that can be executed in parallel. Threaded services control and execute requests by using multiple threads to increase data throughput. SAS Federation Server uses threaded processing techniques to execute requests in parallel, break down complex requests into smaller parallel-processed units of work, and return results to calling application on separate threads.
When you really need to take advantage of features provided by one of the relational database sources that SAS Federation Server can access, you can connect to the data source and send SQL statements directly to it. This allows you to specify the exact (rather than interpreted or generalized) syntax of your database system and perform specific operations in the target databases. This is often needed to take advantage of features or functions in a database that go beyond typical SQL standards.
SAS Federation Server delivers data masking function as a method of de-identifying sensitive information within data sources. The purpose of data masking is to protect the original data by using a functional substitute in situations where the audience is not privileged to access the original data. This functionality dovetails well with other security controls already described here.
SAS DS2 Integration
DS2 is a SAS proprietary programming language that is used for data manipulation and data modeling applications. It shares features with SAS DATA step but it has additional capabilities that make it appropriate for when you need to use extended data types, execute programs outside a SAS session, or execute SAS FedSQL (the language used by SAS Federation Server).
SAS Federation Server has a few conceptual connections to DS2. For example, you can invoke a DS2 package method as a function in a FedSQL SELECT statement. This lets you run DS2 code “inside” SAS Federation Server. In your DS2 code (executed in other SAS software), you can use the SQLSTMT package to generate, prepare, and execute FedSQL statements to update, insert, or delete rows from a table at run time. You can also use the SQLEXEC function to generate, prepare, and execute FedSQL statements to update, insert, or delete rows from a table at run time. These integration points let users combine the power of data federation with the flexibility of using DS2 code to manipulate data.
It’s easy to access SAS Federation Server-provided virtualized data in many different applications. Your SAS code, SAS Data Integration Studio, and SAS Data Management Platform all can access SAS Federating Server views. Other applications can use ODBC, JDBC, a REST API, or SAS libname statements to access data views managed by SAS Federation Server. This flexibility cannot be overstated—with these options you can take advantage of SAS Federation Server functionality almost anywhere in your IT environment.
As you can see, you get a lot more with SAS Federation Server than just virtualized views. Does anyone have use cases they would like to share where one or more of these features helped you solve a sticky data integration problem?