Overview of In-Database Procedures |
In the second and third maintenance releases for SAS 9.2, the following Base SAS, SAS Enterprise Miner, SAS/ETS, and SAS/STAT procedures have been enhanced for in-database processing.
Procedure Name | DBMS Supported |
---|---|
CORR* | Teradata |
CANCORR* | Teradata |
DMDB* | Teradata |
DMINE* | Teradata |
DMREG* | Teradata |
FACTOR* | Teradata |
FREQ | Teradata, DB2 under UNIX and PC Hosts, Oracle |
PRINCOMP* | Teradata |
RANK | Teradata, DB2 under UNIX and PC Hosts, Oracle |
REG* | Teradata |
REPORT | Teradata, DB2 under UNIX and PC Hosts, Oracle |
SCORE* | Teradata |
SORT | Teradata, DB2 under UNIX and PC Hosts, Oracle |
SUMMARY/MEANS | Teradata, DB2 under UNIX and PC Hosts, Oracle |
TABULATE | Teradata, DB2 under UNIX and PC Hosts, Oracle |
TIMESERIES* | Teradata |
VARCLUS* | Teradata |
* SAS Analytics Accelerator is required to run these procedures inside the database. For more information, see SAS Analytics Accelerator for Teradata: Guide. |
Using conventional processing, a SAS procedure (by means of the SAS/ACCESS engine) receives all the rows of the table from the database. All processing is done by the procedure. Large tables mean that a significant amount of data must be transferred.
Using the new in-database technology, the procedures that are enabled for processing inside the database generate more sophisticated queries that allow the aggregations and analytics to be run inside the database. Some of the in-database procedures generate SQL procedure syntax and use implicit pass-through to generate the native SQL. Other in-database procedures generate native SQL and use explicit pass-through. For more information about how a specific procedure works inside the database, see the documentation for that procedure.
The queries submitted by SAS in-database procedures reference DBMS SQL functions and, in some cases, the special SAS functions that are deployed inside the database. One example of a special SAS function is the SAS_PUT() function that enables you to execute PUT function calls inside Teradata. Other examples are SAS functions for computing sum-of-squares-and-crossproducts (SSCP) matrices.
For most in-database procedures, a much smaller result set is returned for the remaining analysis that is required to produce the final output. As a result of using the in-database procedures, more work is done inside the database and less data movement can occur. This could result in significant performance improvements.
This diagram illustrates the in-database procedure process.
Process Flow Diagram
Copyright © 2010 by SAS Institute Inc., Cary, NC, USA. All rights reserved.