Introduction to NonStop SQL/MP
A High Performance DBMS
Introduction to NonStop SQL/MP
113425 Tandem Computers Incorporated 1–7
A data access manager can retrieve data from the table based on the selection criteria
in the query; it can also delete and update data. The data access manager executes
SQL requests as close as possible to the data, eliminating message traffic to and from a
higher-level DBMS layer, as happens in most DBMS systems. (See Figure 1-2.)
To optimize performance, NonStop SQL/MP is distributed within the NonStop server
so multiple processes can execute separate SQL requests simultaneously or divide a
large request into separate tasks and process the tasks in parallel. NonStop SQL/MP
uses the message system to pass requests to the data access managers and return data
to the processors in which the requests originated.
When the desired data resides on a remote system in a distributed network, the data
access managers on the remote system filter the data, returning only what you
requested. This design is especially beneficial for network performance because it
reduces the size and number of messages sent across the communication lines.
NonStop SQL/MP organizes special memory pages, called cache, where data can be
stored temporarily in memory. Data buffers retrieved by the data access manager are
read into cache so that the most frequently used data is in memory. This strategy
reduces the frequency with which data must be retrieved from disk, thereby
improving performance for both transactional (random) and sequential access to data.
When database records need to be read sequentially to satisfy an SQL request, the data
access manager can buffer the records, sending blocks of data rather than a single
record at a time. A valuable function of the data access manager is that it can filter the
data as soon as it is retrieved from disk and then send buffered blocks of data. Both
types of buffering reduce the messages and data sent back to the SQL file system,
improving performance for sequential access.
In addition, the data access manager can perform bulk (56-kilobyte) I/O transfers
during sequential retrievals of data. It can also prefetch data into cache while the
application is processing the previous block of data so that the new block is available
in memory as soon as the application requires it.