Overview of the SAS Scoring Accelerator for Netezza

When using conventional processing to access data inside a Netezza Performance Server (NPS) or TwinFin data warehouse, SAS Enterprise Miner asks the SAS/ACCESS engine for all rows of the table being processed. The SAS/ACCESS engine generates an SQL SELECT * statement that is passed to the Netezza data warehouse. That SELECT statement fetches all the rows in the table, and the SAS/ACCESS engine returns them to SAS Enterprise Miner. As the number of rows in the table grows over time, network latency grows because the amount of data that is fetched from the Netezza data warehouse to the SAS scoring process increases.
The SAS Scoring Accelerator for Netezza embeds the robustness of SAS Enterprise Miner scoring models directly in the highly scalable Netezza database. By using the SAS In-Database technology and the SAS Scoring Accelerator for Netezza, the scoring process is done inside the data warehouse, and thus does not require the transfer of data.
The SAS Scoring Accelerator for Netezza takes the models that are developed by SAS Enterprise Miner and translates them into scoring functions that can be deployed inside Netezza. After the scoring functions are published, the functions extend the Netezza SQL language and can be used in SQL statements like other Netezza functions.
The SAS Scoring Accelerator for Netezza consists of two components:
  • the Score Code Export node in SAS Enterprise Miner. This extension exports the model scoring logic, including metadata about the required input and output variables, from SAS Enterprise Miner.
  • the publishing client that includes the %INDNZ_PUBLISH_MODEL macro. This macro translates the scoring model into .c, .cpp, and .h files for creating the scoring functions and generates a script of Netezza commands for registering the scoring functions. The publishing client then uses the SAS/ACCESS Interface to Netezza to publish the scoring functions to Netezza.