Glossary

access control list (ACL)
a list of users and permission types that each user has for a data resource such as a file, directory, or table.
ACL
See access control list.
authentication
See client authentication.
Base SAS
the core product that is part of SAS Foundation and is installed with every deployment of SAS software. Base SAS provides an information delivery system for accessing, managing, analyzing, and presenting data.
big data
information (both structured and unstructured) of a size, complexity, variability, and velocity that challenges or exceeds the capacity of an organization to handle, store, and analyze it.
block
a group of observations in a data set. By using blocks, thread-enabled applications can read, write, and process the observations faster than if they are delivered as individual observations.
Certificate Revocation List (CRL)
a list of revoked digital certificates. CRLs are published by Certification Authorities (CAs), and a CRL contains only the revoked digital certificates that were issued by a specific CA.
client authentication (authentication)
the process of verifying the identity of a person or process for security purposes. Authentication is commonly used in providing access to software, and to data that contains sensitive information.
component file
any of several file types in a logical file structure that is tracked and indexed as a single table. Each SPD Server table includes a metadata file (.mdf), at least one data file (.dpf), and might also include index files (.hbx or .idx).
compound WHERE expression
a WHERE expression that contains more than one operator, as in WHERE X=1 and Y>3. See also WHERE expression.
controller
a computer component that manages the interaction between the computer and a peripheral device such as a disk or a RAID. For example, a controller manages data I/O between a CPU and a disk drive. A computer can contain many controllers. A single CPU can command more than one controller, and a single controller can command multiple disks.
CPU-bound application
an application whose performance is constrained by the speed at which computations can be performed on the data. Multiple CPUs and threading technology can alleviate this problem.
CRL
See Certificate Revocation List.
data partition
a physical file that contains data and which is part of a collection of physical files that comprise the data component of a table. See also partition.
data resource
any of a collection of domains, tables, catalogs and other types of data that users (with permissions) can access with SPD Server.
directory cleanup utility (spdsclean)
a component of SPD Server that performs routine maintenance functions on directories.
distinguished name (DN)
a unique identifier of an entry in an LDAP network directory. In effect, a distinguished name is the path to the object in the directory information tree.
distributed data
data that is divided and stored across multiple connected computers.
distributed locking
provides synchronization and group coordination services to clients over a network connection. The service provider is the Apache ZooKeeper coordination service, specifically the implementation of the recipe for Shared Lock that is provided by Apache Curator.
DN
See distinguished name.
domain
for SPD Server, a specific directory of file storage locations. The SPD Server Administrator defines the domain in the libnames.parm parameter file and assigns a name. Users connect to the SPD Server domain by specifying the domain name, for example, in the LIBNAME statement for the SASSPDS engine.
dynamic cluster table
two or more SPD Server tables that are virtually concatenated into a single entity, using metadata that is managed by the SAS SPD Server.
dynamic locking
provides multiple users concurrent access to tables. Users can perform read and write functions, and the integrity of the table contents is preserved. Clients that use dynamic locking connect to a separate SPD user proxy process for each connection in the domain.
explicit pass-through
a form of the SQL pass-through facility that passes the user-written, DBMS-specific SQL query code directly to a particular DBMS for processing. See also implicit pass-through.
firewall
a set of related programs that protect the resources of a private network from users from other networks. A firewall can also control which outside resources the internal users are able to access.
format
See SAS format.
function
See SAS function.
I/O-bound application
an application whose performance is constrained by the speed at which data can be delivered for processing. Multiple CPUs, partitioned I/O, threading technology, RAID (redundant array of independent disks) technology, or a combination of these can alleviate this problem.
implicit pass-through
a form of the SQL pass-through facility that translates SAS SQL query code to the DBMS-specific SQL code, enabling the translated code to be passed to a particular DBMS for processing. See also explicit pass-through.
informat
See SAS informat.
JAR (Java Archive)
the name of a package file format that is typically used to aggregate many Java class files and associated metadata and resources (text, images, etc.) into one file to distribute application software or libraries on the Java platform.
Java Archive
See JAR.
Java Database Connectivity (JDBC)
a standard interface for accessing SQL databases. JDBC provides uniform access to a wide range of relational databases. It also provides a common base on which higher-level tools and interfaces can be built.
JDBC
See Java Database Connectivity.
LDAP (Lightweight Directory Access Protocol)
a protocol that is used for accessing directories or folders. LDAP is based on the X.500 standard, but it is simpler and, unlike X.500, it supports TCP/IP.
libnames.parm file
an SPD Server parameter file that defines the domains by establishing the names and file storage locations for data resources. The file also serves as a tool for controlling access to the domains and for managing storage of SPD Server files.
light-weight process thread
a single-threaded subprocess that is created and controlled independently, usually with operating system calls. Multiple light-weight process threads can be active at one time on symmetric multiprocessing (SMP) hardware or in thread-enabled operating systems.
Lightweight Directory Access Protocol
See LDAP.
macro variable (symbolic variable)
a variable that is part of the SAS macro programming language. The value of a macro variable is a string that remains constant until you change it.
name server
an SPD Server server process that converts domain names to data storage locations.
national language support (NLS)
the set of features that enable a software product to function properly in every global market for which the product is targeted.
NLS
See national language support.
ODBC
See Open Database Connectivity.
Open Database Connectivity (ODBC)
an interface standard that provides a common application programming interface (API) for accessing data. Many software products that run in the Windows operating environment adhere to this standard so that you can access data that was created using other software products.
parallel execution
See parallel processing.
parallel I/O
a method of input and output that takes advantage of multiple CPUs and multiple controllers, with multiple disks per controller to read or write data in independent threads.
parallel processing (parallel execution)
a method of processing that divides a large job into multiple smaller jobs that can be executed simultaneously on multiple CPUs. See also threading.
parameter file
a document that contains the data that SPD Server needs to perform its functionality. SPD Server uses a libnames.parm parameter file and an spdsserv.parm parameter file.
partition
part or all of a logical file that spans devices or directories. A partition is one physical file. Data files, index files, and metadata files can all be partitioned, resulting in data partitions, index partitions, and metadata partitions, respectively. Partitioning a file can improve performance for very large tables. See also data partition.
pass-through facility
See SQL pass-through facility.
password database
registers users to enable access to SPD Server. The database stores each user ID and password, a user’s ACL group memberships, authorization level, performance class, account expiration information, and server access records.
password database utility
a component that creates and manages the password database, and that enables users to access SPD Server. It is an interactive command-line utility that begins with the psmgr command.
primary path
the location in which metadata files are stored, and the default location for other component files. Typically, the other component files (data files and index files) are stored in separate storage paths in order to take advantage of the performance boost of multiple CPUs.
RAID (redundant array of independent disks)
a type of interleaved storage system that comprises multiple disks to store large amounts of data inexpensively. RAIDs can have several levels. For example, a level-0 RAID combines two or more hard drives into one logical disk drive. Various RAID levels provide differing amounts of redundancy and storage capability. Also, because the same data is stored in different places, I/O operations can overlap, which can result in improved performance. See also redundancy.
record-level locking
locking at the record level in a table or data set. The user who owns the lock has exclusive access to a single record, while other users can access other records in the same table or data set.
redundancy
a characteristic of computing systems in which multiple interchangeable components are provided in order to minimize the effects of failures, errors, or both. For example, if data is stored redundantly (in a RAID, for example), then if one disk is lost, the data is still available on another disk.
redundant array of independent disks
See RAID.
RLS
See row-level security.
row-level security (RLS)
a security feature that controls access to rows in a table in order to prevent users from accessing restricted data.
SAS format (format)
a type of SAS language element that is used to write or display data values according to the data type: numeric, character, date, time, or timestamp.
SAS function (function)
a type of SAS language element that is used to process one or more arguments and then to return a result that can be used in either an assignment statement or an expression.
SAS informat (informat)
a type of SAS language element that is used to read data values according to the data's type: numeric, character, date, time, or timestamp.
SAS Management Console
a Java application that provides a single user interface for performing SAS administrative tasks.
SAS Metadata Server
a multi-user server that enables users to read metadata from or write metadata to one or more SAS Metadata Repositories.
SAS Scalable Performance Data Server (SPD Server)
a server that restructures data in order to enable multiple threads, running in parallel, to read and write massive amounts of data efficiently.
sasroot
a representation of the name for the directory or folder in which SAS is installed at a site or a computer.
SASSPDS
the SAS engine that provides access to the SAS SPD Server.
scalability
the ability of a software application to function well and with minimal loss of performance, despite changing computing environments, and despite changes in the volume of computations, users, or data. Scalable software is able to take full advantage of increases in computing capability such as those that are provided by the use of SMP hardware and threaded processing. See also scalable software, server scalability.
scalable software
software that responds to increased computing capability on SMP hardware in the expected way. For example, if the number of CPUs is increased, the time to solution for a CPU-bound problem decreases by a proportionate amount. And if the throughput of the I/O system is increased, the time to solution for an I/O-bound problem decreases by a proportionate amount.
Secure Sockets Layer
See SSL.
serde
an interface that enables serialization or deserialization of one or more file formats.
server scalability
the ability of a server to take advantage of SMP hardware and threaded processing in order to process multiple client requests simultaneously. That is, the increase in computing capacity that SMP hardware provides increases proportionately the number of transactions that can be processed per unit of time. See also threaded processing.
session
a single period during which a software application is in use, from the time the application is invoked until its execution is terminated.
SMP (symmetric multiprocessing)
a type of hardware and software architecture that can improve the speed of I/O and processing. An SMP machine has multiple CPUs and a thread-enabled operating system. An SMP machine is usually configured with multiple controllers and with multiple disk drives per controller.
sort indicator
an attribute of a data file that indicates whether a data set is sorted, how it was sorted, and whether the sort was validated. Specifically, the sort indicator attribute indicates the following information: 1) the BY variable(s) that were used in the sort; 2) the character set that was used for the character variables; 3) the collating sequence of character variables that was used; 4) whether the sort information has been validated. This attribute is stored in the data file descriptor information. Any SAS procedure that requires data to be sorted as a part of its process uses the sort indicator.
spawn
to start a process or a process thread such as a light-weight process thread (LWPT). See also thread.
SPD Server
See SAS Scalable Performance Data Server.
SPD Server STARJOIN Facility (STARJOIN Facility)
a component of the SPD Server SQL Planner that optimizes N-way star schema joins for qualified SPD Server tables.
SPDO procedure
the operator interface for SPD Server. The procedure defines and manages SPD Server ACLs, defines row-level security for tables, manages proxies, defines and manages cluster tables, refreshes server parameters and domains, performs table management functions such as truncating tables, and executes SPD Server utilities from a central point.
SPDSBASE process
accesses or creates SPD Server resources for users. Several SPDSBASE processes can be active simultaneously in an SPD Server installation, handling work requests for different users or different SAS sessions. The SPDSBASE process can take on the role of either an SPD Server user proxy, an SPD Server SQL proxy, or an SPD Server SQL user proxy.
spdsclean
See directory cleanup utility.
spdsserv.parm file
an SPD Server parameter file that defines the server configuration and performance parameters that control processing behavior and use of resources.
SQL pass-through facility (pass-through facility)
the technology that enables SQL query code to be passed to a particular DBMS for processing. See also record-level locking.
SQL query rewrite facility
examines SQL queries to optimize processing performance. When an SPD Server user submits SQL statements that contain subexpressions, the SQL query rewrite facility optimizes the SQL query when possible.
SSL (Secure Sockets Layer)
an encryption protocol for securing client-server communication. See also Transport Layer Security.
star schema
tables in a database in which a single fact table is connected to multiple dimension tables. This is visually represented in a star pattern. SAS OLAP cubes can be created from a star schema.
STARJOIN Facility
See SPD Server STARJOIN Facility.
symbolic variable
See macro variable.
symmetric multiprocessing
See SMP.
thread
the smallest unit of processing that can be scheduled by an operating system.
thread-enabled operating system
an operating system that can coordinate symmetric access by multiple CPUs to a shared main memory space. This coordinated access enables threads from the same process to share data very efficiently.
thread-enabled procedure
a SAS procedure that supports threaded I/O or threaded processing.
threaded I/O
I/O that is performed by multiple threads in order to increase its speed. In order for threaded I/O to improve performance significantly, the application that is performing the I/O must be capable of processing the data rapidly as well. See also I/O-bound application, thread.
threaded processing
processing that is performed in multiple threads in order to improve the speed of CPU-bound applications. See also CPU-bound application.
threading
a high-performance technology for either data processing or data I/O in which a task is divided into threads that are executed concurrently on multiple cores on one or more CPUs.
time to solution
the elapsed time that is required for completing a task. Time-to-solution measurements are used to compare the performance of software applications in different computing environments. In other words, they can be used to measure scalability. See also scalability.
TLS
See Transport Layer Security.
Transport Layer Security (TLS)
the successor to Secure Sockets Layer (SSL), a cryptographic protocol that is designed to provide communication security. TLS uses asymmetric cryptography for authentication and confidentiality of the key exchange, symmetric encryption for data/message confidentiality, and message authentication codes for message integrity.
WHERE clause
a syntax string that is composed of the keyword WHERE, followed by one or more WHERE expressions. A WHERE clause defines the conditions to be used for selecting observations in a data set. See also WHERE expression.
WHERE clause planner
uses factors of cardinality and distribution to calculate relative processor costs of various WHERE clause options. The SPD Server WHERE clause planner avoids computation-intensive operations and uses simple computations where possible.
WHERE expression
is a syntax string within a WHERE clause that defines the criteria for selecting observations. For example, in a membership database, the expression "WHERE member_type=Senior" returns all senior members. See also compound WHERE expression, WHERE processing.
WHERE processing
a method of conditionally selecting rows for processing by using a WHERE expression. See also WHERE expression.
workspace tables
a list of paths that contain temporary SPD Server work tables and temporary intermediate files that are associated with the declared domain.
Last updated: February 3, 2017