Previous Page | Next Page

Using Data Transfer Services

Considerations for Using Data Transfer Services


Use Compute Services to Access Large Data Resources

Transferring a copy of the data to another file system creates multiple copies of the data. If the data that is stored on the server is updated frequently, keeping a local copy of the data that is reasonably current might be impossible. In addition, security restrictions at your site might prohibit multiple copies of the data. In this case, if the amount of data that is involved is large, consider using Compute Services instead.


Use Remote Library Services to Access Small to Medium Data Resources

If the client accesses a small to medium amount of data, Remote Library Services allows the processing to occur at the client, with the data coming from the server as the execution requests it. If you use a GUI application to access data that requires transparent access to remote data, you might want to use Remote Library Services.


Use a Combination of Services

There might be situations in which a combination of services is the best choice. For examples of combined services, see Examples of Combining Compute Services and Data Transfer Services and Example of Combining RLS and Data Transfer Services (DTS). To understand these examples, you must be familiar with the syntax for the UPLOAD and DOWNLOAD procedures.


File Transfer Performance


Network File Compression

By default, SAS/CONNECT uses network file compression whenever a file is transferred between a client and a server by using the UPLOAD and DOWNLOAD procedures.

SAS/CONNECT 8.2 introduced a network file compression algorithm that significantly improved performance for large data transfers. A large transfer is defined as a file whose size is 32K bytes or larger. In general, the larger the file, the greater the potential for a performance gain.

The goal of network file compression is to reduce the number of buffers that must be sent when uploading and downloading files across a network. In order to reduce the number of buffers that are used, buffers are packed to capacity for each network transfer.

The algorithm uses run-length encoding and sliding window compression. Consecutive occurrences of a single byte are compressed by using run-length encoding, and patterns of characters are compressed by using a sliding window that stores an offset to the previously occurring pattern in the compressed data.

However, performance benefits that result from data compression depend on the data itself. For example, significant compression that yields a performance benefit is expected for data that contains a regularly repeating pattern. However, for data that does not contain a regularly repeating pattern, compression would not produce a significant performance benefit.

To take advantage of the compression algorithm, both the SAS/CONNECT client and the server must run SAS/CONNECT 8.2 or a later release of SAS software.


Data File Compression to Disk

By contrast, you can specify that a file be compressed when it is written to disk by using the COMPRESS= data set option. For details, see the COMPRESS= data set option in SAS Language Reference: Dictionary.

The following statements show how to specify that a data set should be compressed when it is uploaded to disk:

data tax01 (compress=yes);
proc upload data=state out=fed;

Note:   If the COMPRESS=YES data set option is not specified, the data set is not compressed before it is uploaded.  [cautionend]

At the client, the following tasks are implicitly performed:

At the server, the following tasks are implicitly performed:

Previous Page | Next Page | Top of Page