Overview of the SAS In-Database Code Accelerator

The SAS In-Database Code Accelerator enables you to publish a DS2 thread program to the database and execute that thread program in parallel inside the database. Examples of thread programs include large transpositions, computationally complex programs, scoring models, and BY-group processing.
The SAS In-Database Code Accelerator for Hadoop and the SAS In-Database Code Accelerator for Teradata also enable you to publish and execute the DS2 data program inside the database.
To use the SAS In-Database Code Accelerator, the following requirements must be met. Otherwise, the thread program will be run in multiple threads on the client machine.
  • The following products must be licensed at your site:
    • Base SAS
    • SAS In-Database Code Accelerator
    • SAS/ACCESS Interface to your database (Greenplum, Hadoop, or Teradata)
  • The SAS Embedded Process must be installed and configured on your database.
    For information about installing and configuring the SAS Embedded Process, see SAS In-Database Products: Administrator's Guide.
  • Your DS2 code includes a thread program and a data program.
  • The table used as input to the thread program must reside in the database.
  • Either the PROC DS2 DS2ACCEL option must be set to YES or the DS2ACCEL system option must be set to ANY.
With in-database processing, data is distributed on different data partitions. Each DS2 thread that is running inside the database has access to its own data partition. When doing BY-group processing, each DS2 thread with a BY statement can group and order only the rows in the same data partition. The data partition might have only part of the entire group of data. You would need to do a final aggregation in the main data program. However, if you use the PROC DS2 statement’s BYPARTITION=YES option, the entire group of data resides on the same data partition. For more information, see BY-Group Processing When Running Thread Programs inside the Database.