Considerations for Using RLS

Determine the Appropriate Data Access Solution

To make the best use of RLS, consider these questions:
  • How much data will the application access?
  • Is multi-user or single-user data access needed?
  • Will the application make a single pass or multiple passes through the data?
  • What is the effect of the application's data access on the network load?
Answers to these questions will help you determine whether to use RLS, Data Transfer Services, Compute Services, or a combination of these services.

Use Compute Services to Access Large Volumes of Data

Accessing data through RLS is inefficient when you have large volumes of data. Compute Services (or a combination of Compute Services and Data Transfer Services) is preferable for processing large volumes of data on the server.

Use Data Transfer Services for Multi-Pass Data Processing

RLS is not efficient for multiple passes through the data. Although the client accesses data that is on the server, the data is not written to the client's local disk. If you are running procedures that make multiple passes through the data, or an entire procedure must be run more than one time against the data, transferring a copy of the data to the client's local disk is advised. You incur the network traffic cost only one time rather than paying the cost for each pass through the data.

Use Data Transfer Services When Network Response Time Is Delayed

Data Transfer Services is the preferred choice when response time is delayed. This situation can occur if you are accessing server data that is being updated simultaneously by other users. If delayed response time is not acceptable, consider transferring a copy of the data to the client's local disk and keep the data separate from other applications.

Use RLS When Data Flow through a Network Is Minimal

Because RLS requires data to flow from the server to the client through a network, you should design your application to minimize the amount of data that is requested for client processing.
Both Data Transfer Services and RLS transfer data from the server to the client for processing. However, the difference between the two services is that Data Transfer Services writes the data to the client's local disk for subsequent processing. By contrast, RLS processes the data in client memory, which gets overwritten when the next data transaction occurs. Subsequent analyses of the same data would require the data to be moved through the network each time the client session requests the data.

Compare DTS, RLS, and CS

Design your application to balance the benefits and costs of the SAS/CONNECT services.
  • Use Data Transfer Services to transfer a copy of the data from the server to the client and write the data to disk for local data access and processing.
  • Use Remote Library Services to transfer records that the client requests for processing from the server. The entire data remains at the server and selected records are transferred to the client for local processing.
  • Use Compute Services to transfer processing to the server where the data is stored. Results from server processing are returned to the client.