About Library Engines

Definition of a Library Engine

A library engine is an engine that accesses groups of files and puts them into a logical form for processing by SAS utility procedures and windows. A library engine also determines the fundamental processing characteristics of the library and presents lists of files for the library directory. Library engines can be classified as native or interface.

Native Library Engines

Definition of Native Library Engine

A native library engine is an engine that accesses forms of SAS files that are created and processed only by SAS.
Operating Environment Information: Engine availability is host dependent. See the SAS documentation for your operating environment. Also, specific products provide additional engines.

Default Base SAS Engine

The default Base SAS engine writes SAS libraries in disk format. The engine processes SAS 7, SAS 8, and SAS 9 files. If you do not specify an engine name when you are creating a new SAS library, the Base SAS engine, which for SAS 9 is named V9, is automatically selected.
When accessing existing SAS data sets on disk, SAS assigns an engine based on the contents of the library. The Base SAS engine has the following characteristics:
  • It is the only engine that supports the full functionality of the SAS data set and the SAS library.
  • It supports view engines.
  • It meets all the processing characteristics required by SAS statements and procedures.
  • It creates, maintains, and uses indexes.
  • It reads and writes compressed (variable-length) observations. SAS data sets created by other engines have fixed-length observations.
  • It assigns a permanent page size to data sets and temporarily assigns the number of buffers to be used when processing them.
  • It repairs damaged SAS data sets, indexes, and catalogs.
  • It enforces integrity constraints, creates backup files, and creates audit trails.
Note: SAS files created in SAS 7, 8, and 9 have the same file format.

Remote Engine

The REMOTE engine is a SAS library engine for SAS/SHARE software. Using it enables a SAS session to access shared data by communicating with a SAS server. For more information, see the SAS/SHARE User's Guide.

SASESOCK Engine

The SASESOCK engine processes input to and output from TCP/IP ports instead of physical disk devices. The SASESOCK engine is required for SAS/CONNECT applications that implement MP CONNECT processing with the piping mechanisms. For more information, see the SAS/CONNECT User's Guide.

SAS Scalable Performance Data (SPD) Engine

The SAS Scalable Performance Data Engine (SPD Engine) provides parallel I/O, using multiple CPUs to read SAS data and deliver it rapidly to applications. The SPD Engine can process very large data sets because the data can span volumes but can be referenced as a single data set. The data in these data sets is also partitioned, enabling the data to be read in multiple threads per CPU. The SPD Engine is not intended to replace the default Base SAS engine for processing data sets that do not span volumes.
See SAS Scalable Performance Data Engine: Reference for details about this engine's capabilities.

Sequential Engines

A sequential engine processes SAS files on storage media that do not provide random access methods (for example, tape or sequential format on disk). A sequential engine requires less overhead than the default Base SAS engine because sequential access is simpler than random access. However, a sequential engine does not support some Base SAS features such as audit trails, generation data sets, integrity constraints, and indexing.
The sequential engine supports some file types for backup and restore purposes only, such as CATALOG, VIEW, and MDDB. ITEMSTOR is the only file type that the sequential engine does not support. DATA is the only file type that is useful for purposes other than backup and restore.
The following sequential engines are available:
V9TAPE (TAPE)
processes SAS 7, SAS 8, and SAS 9 files.
V6TAPE
processes SAS 6 files without requiring you to convert the file to the SAS 9 format.
For more information, see Sequential Data Libraries.

Transport Engine

The XPORT engine processes transport files. The engine transforms a SAS file from its operating environment-specific internal representation to a transport file. A transport file is a machine-independent format that can be used for all hosts. In order to create a transport file, explicitly specify the XPORT engine in the LIBNAME statement, and then use the DATA step or COPY procedure.
For information about using the XPORT engine, see Moving and Accessing SAS Files.

V6 Compatibility Engine

The SAS 6 compatibility engine can automatically support some processing of SAS 6 files in SAS 9 without requiring you to convert the file to the SAS 9 format.
For more information, see SAS 9.3 Compatibility with SAS Files from Earlier Releases, or see the Migration Focus Area at support.sas.com.

Interface Library Engines

An interface library engine is a SAS engine that accesses files formatted by other software. Interface library engines are not transparent to the user and must be explicitly specified (for example, in the LIBNAME statement).
The following are interface library engines:
SPSS
reads SPSS portable file format. This file format is analogous to the transport format for SAS data sets. The SPSS portable files (also called an export file) must be created by using the SPSS EXPORT command. Under z/OS, the SPSS engine also reads SPSS Release 9 files and SPSS-X files in either compressed or uncompressed format.
OSIRIS
reads OSIRIS data and dictionary files in EBCDIC format.
BMDP
reads BMDP save files.
In addition, a view engine is an interface library engine that is used by SAS/ACCESS software in order to retrieve data from files formatted by another vendor's software. These engines enable you to read and write data directly to and from files formatted by a database management system (DBMS), such as DB2 and ORACLE.
View engines enable you to use SAS procedures and statements in order to process data values stored in these files without the cost of converting and storing them in files formatted by SAS. Contact your on-site SAS support personnel for a list of the SAS/ACCESS interfaces available at your site. For more information about SAS/ACCESS features, see About SAS/ACCESS Software and the SAS/ACCESS documentation for your DBMS.
Operating Environment Information: The capabilities and support of these engines vary depending on your operating environment. See the SAS documentation for your operating environment for more complete information.