Resources

What's New Table of Contents  

What's New in SAS Scalable Performance Data Server 4.4, 4.41, 4.42, 4.43, 4.44, and 4.45

Overview

This document summarizes enhancements and changes in SPD Server 4.4, including the SPD Server 4.45, SPD Server 4.44, SPD Server 4.43, SPD Server 4.42 and SPD Server 4.41 maintenance releases. To view the enhancements and upgrades that were contained in SPD Server 4.3, see What's New in SAS Scalable Performance Data Server 4.3.

Pay special attention to the following notes for SAS System compatibility related to your SPD Server 4.4 media:


SPD Server 4.45 Enhancements

SPD Server 4.45, also called SPD Server 4.4 TSM5, is an interim release. SPD Server 4.45 contains maintenance fixes and feature enhancements that are not in SPD Server 4.44 and earlier releases.

General Enhancements

The following feature enhancements are provided in SPD Server 4.45:

Note: The online SAS Scalable Performance Data Server 4.45: Administrator's Guide  and the SAS Scalable Performance Data Server 4.45: User's Guide  can be found at    http://support.sas.com/documentation/onlinedoc/spds/index.html.

CLUSTER LIST Statement Enhancements

The SPD Server CLUSTER LIST statement output lists the member tables of a dynamic cluster in numbered order. In SPD Server 4.45, more information is produced by the CLUSTER LIST statement.

Now, CLUSTER LIST statement output lists the member tables in a dynamic cluster, the maximum number of slots that are available in the cluster, and the unique index validation status.

The following example uses PROC SPDO to create a dynamic cluster that has a unique index, five member tables, and space for a sixth table. Then, a CLUSTER LIST statement is issued. The output lists the dynamic cluster name, the names of each member table, the maximum number of member tables, and the unique index validation status.

PROC SPDO library=&libdom ;
CLUSTER CREATE natlsales ;
  mem=ne_region
  mem=se_region
  mem=central_region
  mem=nw_region
  mem=sw_region
MAXSLOT=6
UNIQUEINDEX=yes ;
	
NOTE: CLUSTER NATLSALES has been created with 6 maximum slots.

CLUSTER LIST natlsales;
	
Cluster Name NATLSALES, Mem=NE_REGION
Cluster Name NATLSALES, Mem=SE_REGION
Cluster Name NATLSALES, Mem=CENTRAL_REGION
Cluster Name NATLSALES, Mem=NW_REGION
Cluster Name NATLSALES, Mem=SW_REGION
NOTE: The maximum number of possible slots is 6.
NOTE: Unique index is validated in CLUSTER NATLSALES. 

Method Trace for SQL Enhancements

The enhanced SPD Server method trace for SQL now includes the names of the source tables.  Including source table names makes it easier to determine how the SPD Server SQL planner constructed the query in cases where multiple source tables were used.
To better understand the method trace enhancement, the following example shows a simple SQL statement that joins two tables and explicitly states the SPD Server execution methods that you want to use.  The enhanced information content is displayed:
 
Before SPD Server 4.45:

PROC SQL;
CONNECT to sasspds(dbq= ... );
EXECUTE(RESET _method) by sasspds;
EXECUTE(CREATE TABLE c as SELECT t1.b t2.c
        FROM a t1, b t2
        WHERE t1.a = t2.a) by sasspds;
 
 SPDS_NOTE: SQL execution methods chosen are:
    sqxcrta
        sqxjpll
 
 SPDS_NOTE: Table X0000003.C created, with 1 rows and 2 columns.

 

SPD Server 4.45:

PROC SQL;
CONNECT to sasspds(dbq= ... );
EXECUTE(RESET _method) by sasspds;
EXECUTE(CREATE TABLE c as SELECT t1.b t2.c
        FROM a t1, b t2
        WHERE t1.a = t2.a) by sasspds;
 
 SPDS_NOTE: SQL execution methods chosen are:
    sqxcrta
        sqxjpll
            sqxrc ( [X0000001].A (alias = t1) )
            sqxrc ( [X0000001].B (alias = t2) )
 
 SPDS_NOTE: Table X0000001.C created, with 1 rows and 2 columns.
 

See the section "Important SPD Server SQL Planner Options" in the online SAS Scalable Performance Data Server 4.45: User's Guide for more information on the SPD Server SQL planner.


SPD Server 4.44 Enhancements

SPD Server 4.44, also called SPD Server 4.4 TSM4, is an interim release.  SPD Server 4.44 contains maintenance fixes and feature enhancements that are not in SPD Server 4.43 and earlier releases.

The following feature enhancement is provided in SPD Server 4.44:

See the section "Querying and Reading Member Tables in a Dynamic Cluster" in the online SAS Scalable Performance Data Server 4.45: User's Guide for more information.

Note:  The online SAS Scalable Performance Data Server 4.45: Administrator's Guide  and the SAS Scalable Performance Data Server 4.45: User's Guide  can be found at http://support.sas.com/documentation/onlinedoc/spds/index.html


SPD Server 4.43 Enhancements

SPD Server 4.43, or SPD Server 4.4 TSM3, is an interim release.  SPD Server 4.43 contains maintenance fixes and feature enhancements that are not found in SPD Server 4.42 and previous releases.

General Enhancements

The following feature improvements are provided in the SPD Server 4.43 release:

Note:  The online SAS Scalable Performance Data Server 4.43: Administrator's Guide  and the SAS Scalable Performance Data Server 4.43: User's Guide  can be found at http://support.sas.com/documentation/onlinedoc/spds/index.html

CLUSTER MODIFY Command for PROC SPDO

The PROC SPDO command set for dynamic clusters features a new CLUSTER MODIFY cluster command. The CLUSTER MODIFY command sets a MINMAXVARLIST attribute on one or more variables that belong to an existing dynamic cluster. When the SPD Server runs the CLUSTER MODIFY command, the dynamic cluster is unclustered while the variable modifications are made to the individual member tables. The cluster is recreated after the MINMAXVARLIST changes are completed.

For more information on the CLUSTER MODIFY command, see the "Modify Dynamic Cluster Tables" topic in the "SPD Server Dynamic Tables" document in the "SPD Server Usage" section of the online SAS Scalable Performance Data Server 4.43: User's Guide.

Table Option MEMNUM= for Dynamic Clusters

Dynamic clusters provide a table option MEMNUM=.  The MEMNUM= option allows you to perform query or read operations on a single member table that belongs to the cluster.  When you use the MEMNUM= option, SPD Server opens only the specified member table instead of opening all of the member tables that belong to the cluster.

For more information on the MEMNUM= option, see the "Querying and Reading Member Tables in a Dynamic Cluster" topic in the "SPD Server Dynamic Tables" document in the "SPD Server Usage" section of the online SAS Scalable Performance Data Server 4.43: User's Guide.


SPD Server 4.42 Enhancements

SPD Server 4.42, or SPD Server 4.4 TSM2, is an interim release. SPD Server 4.42 contains maintenance fixes and feature enhancements not found in SPD Server 4.41 and previous releases.

General Enhancements

The following feature enhancements are provided in the SPD Server 4.42 release:

The SPD Server User's Guide and Administrator's Guide documents in PDF format can be viewed online at the following URL: http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

Cluster Create Option for Unique Indexes

The CLUSTER CREATE command in PROC SPDO has a new optional argument that allows the user to specify whether unique indexes that are defined in the member tables should be validated and marked as unique in the cluster. If the UNIQUEINDEX option is set to NO, then unique indexes are not validated and the cluster metadata will not show the indexes as unique within the cluster. If the UNIQUEINDEX option is not specified, then it defaults to YES and the indexes are validated and marked unique within the cluster.

The usage syntax for the Cluster Create option is:

CLUSTER CREATE clustername  
  MEM=member_table1 
  MEM=member_table2 
     ...
  MEM=member_table_n
  MAXSLOT=n 
  UNIQUEINDEX=<yes|no>;

For more detailed information on PROC SPDO commands, see the chapter "SPD Server Operator Interface Procedure (PROC SPDO)," in the online SPD Server 4.4 Administrator's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

Additional Operator Interface Proxy Commands

The existing PROC SPDO (SPD Server Operator Interface Procedure) command set has new commands that gather proxy information about pass-through SQL librefs. The new commands, LIST USERS/LOCKING and SET USER/LOCKING, return information to the user about record-level locking proxies that are associated with pass-through SQL librefs.

The new privileged operator command OPER INTERRUPT provides the ability for certain users to interrupt long-running jobs. The new OPER DISCONNECT privileged operator command disconnects the proxy from its client. The OPER HALT and OPER RESUME privileged operator commands are no longer supported.

For more detailed information on Operator Interface Proxy Commands, see the chapter "SPD Server Operator Interface Procedure (PROC SPDO)," in the online SPD Server 4.4 Administrator's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.


SPD Server 4.41 Enhancements

SPD Server 4.41, or SPD Server 4.4 TSM1, is an interim release. SPD Server 4.41 contains maintenance fixes and feature enhancements not found in SPD Server 4.4 and previous releases.

The following feature enhancements are provided in the SPD Server 4.41 release:

The SPD Server User's Guide and Administrator's Guide documents in PDF format can be viewed online at the following URL: http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.


SPD Server 4.4 User's Guide and Administrator's Guide

The SPD Server 4.4 User's Guide and Administrator's Guide has been removed from the installation media. The documentation is available at the following URL:

http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

Placing the SPD Server 4.4 documentation on the SAS Documentation Page enables simple access via a bookmarked location on your preferred Web browser. Placing the SPD Server 4.4 documentation on the SAS Documentation Page also facilitates rapid distribution of periodic SAS documentation updates between successive SPD Server releases.


SPD Server 4.4 Platform Support Changes

New Platforms:

SPD Server 4.4 has added support for the UNIX Solaris x64 platform.

Platforms No Longer Supported:

SPD Server 4.4 no longer supports the Linux ia64 platform or the UNIX HP TRU64 platform.


SPD Server 4.4 and SAS Data Integration Studio

You can integrate the processing power of SPD Server 4.4 with SAS Data Integration Studio. The plug-in file that SPD Server uses to integrate with the SAS Management Console can also integrate SPD Server resources into the SAS Data Integration Studio user interface.

To integrate SPD Server 4.4 functionality into the SAS Data Integration Studio user interface, copy the SPD Server 4.4 Java plug-in file into the SAS Data Integration Studio plugins subdirectory.

The SPD Server 4.4 Java plug-in file is located at:

SASROOT/spds44/spdssmc/sas.smc.SpdsMgr.jar

Note: SASROOT represents the path to the base directory of the SAS software installation on your client machine. Spds44/ represents the installed SPD Server software directory. The name of the installed SPD Server software directory varies according to the specific version and release of your SPD Server software. For example, the path to your SPD Server Java plug-in file might begin with SASROOT/spds44, SASROOT/spds44tsm1, or SASROOT/spds44tsm2, depending on if you have the original SPD Server 4.4 software, or the first or second maintenance release of the SPD Server 4.4 software.

Copy the SPD Server 4.4 Java plug-in file to the SAS Data Integration Studio plugins directory:

SASROOT/ SASETLStudio/9.1/plugins/sas.smc.SpdsMgr.jar


SPD Server 4.4 New Features

Materialized Views

A Materialized View will save the results of a SQL view in a temporary table. When the view is queried, rather than executing the view to determine the results, the temporary table is used. If any of the input tables to the view are modified, the Materialized View will dynamically update the temporary results. Materialized View is only supported via the SPD Server SQL pass-through interface. A materialized view can result in significant performance gains for SQL queries that reference the view.

For more detailed information on materialized views, see the section on Materialized Views in the chapter on, " Optimizing SAS Scalable Performance Data Server Performance," in the online SPD Server 4.4 User Documentation located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

SPD Server Profiling

A Server Profiling and Logger process is available to monitor and log the activity of the SPD Server processes. Once logged, the output can be formatted to be read into a SAS table for post analysis.

The SMC SPD Server Manager can connect to the Server Profiling Logger to provide real-time feedback of the SPD Server 4.4 process activity. The SPD Server 4.4 process profile panel will dynamically refresh SPD Server process activity such as memory and CPU usage. SPD Server processes are identified by their process ID, and for any proxy process the SPD Username that is associated with the proxy.

This feature is only available for SPD Server 4.4 installed on UNIX.

For more detailed information on SPD Server Profiling, see the chapter on, " SMC SPD Server Manager" in the online SPD Server 4.4 Administrator's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

LDAP Password Authentication

LDAP Authentication will cause SPD Server to authenticate a user password via LDAP rather than by the password in the PSMGR database. LDAP authentication will allow a SPDS User to have the same user/password as their UNIX/Windowslogon, PROVIDED the UNIX/Windows logon meets the SPD Server User/Password character restrictions.

The administrator can select the mode of password authentication with server parameters; either via the PSMGR database or LDAP. Once selected all authentication will be done in that mode. With LDAP Authentication, a SPD user must still be entered in the SPD Server PSMGR database to maintain other information necessary for the SPD Server such as the User's groups and access level.

This feature is only available for SPD Server 4.4 installed on Windows or Solaris.

For more detailed information on SPD Server LDAP Authentication, see the chapter on, " SPD Server Password Manager Utility," in the online SPD Server 4.4 Administrator's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

Dynamic Locking

Dynamic Locking provides more flexible locking semantics on a domain which allows multiple clients to share both read and write access to tables in the domain without getting member lock failures. Dynamic Locking differs from SPD record level locking in that clients using dynamic locking connect to a separate SPD User Proxy process for each libname connection in the domain, versus record level locking where all users share the same Record Level Locking Proxy process. Having separate proxy processes versus the single record level proxy lessens the chance of hitting resource limits in the single process, and removes a single Record Level Locking point of failure for the Record Level Proxy.

Dynamic Locking may provide better performance than record level locking for some cases where concurrent reads and updates to a table are required, however the performance benefit needs to be measured on a case by case basis.

For more detailed information on SPD Server Dynamic Locking, see the chapter on, " Accessing and Creating SAS Scalable Performance Data Server Tables," in the online SPD Server 4.4 Administrator's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

Surfacing Ports through an Internet Firewall

SPD Scalable Performance Data Server uses a client- server relationship, where the client cannot exist on the same host as the server. If the site has an internet firewall, it is necessary to control the ports that the SPD Server and client use for communicatipn such that those ports can be surfaced through the internet firewall. Certain ports that the SPD Server utilizes are defined at start-up time, and can therefore be easily controlled. However, ports are dynamically allocated to support each connection to the SPD Server and the subsequent User Proxy process(s) created as a result of the connection. These ports are usually allocated as any available port. To be able to control the dynamic ports used by SPD Server, the MINPORTNO and MAXPORTNO server parameters can be used.

For more detailed information on surfacing ports through an internet firewall, see the chapter on, " Setting Up SPD Server Host Parameter Files," in the online SPD Server 4.4 Administrator's Guide,  and the sections on "How do SPDS server and client processes communicate" and "How do I know which ports must be surfaced through an internet firewall" in the chapter on, " SPD Server Frequently Asked Questions," in the SPD Server 4.4 User's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

The MINPORTNO and MAXPORTNO server parameters are now fully supported features in SPD Server 4.4.


SPD Server 4.4 Enhancements


Minmax Table Indexing for Character Columns

The SPD Server table option for MINMAXVARLIST= has been enhanced to also support character columns. The SPD Server WHERE planner will utilize the minmaxvarlist for a table to quickly determine if a where clause on the column can be quickly evaulated as trivially TRUE or FALSE. 

For more detailed information on Minmax table indexing, see the chapter on, " Optimizing SAS Scalable Performance Data Server Performance on Minmax Indexes," in the SPD Server 4.4 User's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

Expression Support for STARJOIN

The SPD Server STARJOIN optimization has been enhanced to be able to accept queries that previously could not use the optimization because they met the STARJOIN requirements except that a selected column was an expression rather than a simple column.

For more detailed information on expression support for STARJOIN, see SQL section in the chapter on, "STARJOIN Optimization," in the SPD Server 4.4 User's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

Dynamic Support for Larger Index Keys

The SPD Server Indexes can now dynamically support an index key up to 32,608 bytes long. An index key is the sum of the length of all of the columns that comprise the index. Previously, it was necessary to reconfigure the server BTREE_PAGESIZE option to support larger index keys. With dynamic sizing of the index metadata to support large index keys, this is no longer necessary and the BTREE_PAGESIZE server option is now obsolete.

SORTEDBY Specification for Dynamic Clusters

SPD Server now supports the SORTEDBY specification for columns that are defined on a dynamic cluster. In order to use the SORTEDBY specification, each member table in the dynamic cluster must have SORTEDBY specification set for the column. You specify the SORTEDBY setting on a dynamic cluster in the same way you would for a simple table.

PROC DATASETS library=libdomain;
modify clustername(sortedby=<var>);
quit;

The SORTEDBY specification assumes that the dynamic cluster was created using member tables that were added in the correct SORTEDBY order.

Additional Backup, Restore, and List Options

The SPD Server backup utility has added a "-v" option to provide verbose output. The "-v" option will log the full name of the backup file and table of contents file.


The SPD Server backup utility has added a "-proj <dir>" option to support backing up files in a domain project directory.

The SPD Server restore utility has added a "-proj <dir>" option to support restoring files to a domain project directory.

The SPD Server list utility has added a "-s" option to include the size (in bytes) of the component files listed.

The SPD Server list utility has added an "-info" option to get table information for a domain, including the number of component metadata, data, and index files for a table, and the accumulated size of the component files for a table.

For more detailed information, see the chapter on, " SPD Server Backup and Restore Utilities," in the online SPD Server 4.4 Administrator's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.

Additional Ixutil Options

The SPD Server ixutil utility has added the -crejidx option to create a join index, the -deljidx option to delete a join index, the -statjidx option to print join index statistics, and the -lstjidx option to list the join indexes in a domain.

For more detailed information, see the chapter on, " SPD Server Index Utility," in the online SPD Server 4.4 Administrator's Guide, located at http://support.sas.com/documentation/onlinedoc/91pdf/index_913.html.