Introduction to NonStop SQL/MP
Distributed Database Architecture
Introduction to NonStop SQL/MP
113425 Tandem Computers Incorporated 1–13
Applications can also be distributed. A client (or requester) process can run on one
system, while the server processes run on other systems and perform I/O operations
on the distributed database.
When a transaction updates distributed data, you want to be sure that an interruption
at a remote node does not leave the data in an inconsistent state. The
NonStop TM/MP subsystem protects all transactions, local and remote, for
consistency and automatic recovery. NonStop TM/MP uses a two-phase commit
protocol to ensure that changes are committed to the database only when all systems
are able to complete their portions of the transaction.
NonStop SQL/MP maintains a distributed data dictionary that describes the objects in
a distributed database. If a table or index is partitioned among several nodes,
NonStop SQL/MP duplicates the data descriptions in catalogs residing on each node,
so that each partition is described on its local system. Each catalog also identifies the
location of all other partitions. The data dictionary thus provides a unified logical
database schema that gives applications complete access to the distributed data.
Figure 1-4 shows an example of a distributed data dictionary. At each location, the
dictionary maintains information about all the nodes in the distributed database.
Figure 1-4. Distributed Data Dictionary
Database Tables
Catalog Tables
TABLE 1 (PARTITION 1) —
NEW YORK
TABLE 1 (PARTITION 2) —
LOS ANGELES
TABLE 1 (PARTITION 3) —
MONTREAL
TABLE 1
(PARTITION 1)
TABLE 1 (PARTITION 1) —
NEW YORK
TABLE 1 (PARTITION 2) —
LOS ANGELES
TABLE 1 (PARTITION 3) —
MONTREAL
TABLE 1
(PARTITION 2)
TABLE 1 (PARTITION 1) —
NEW YORK
TABLE 1 (PARTITION 2) —
LOS ANGELES
TABLE 1 (PARTITION 3) —
MONTREAL
TABLE 1
(PARTITION 3)
New York Los Angeles Montreal
In addition, NonStop SQL/MP provides local autonomy. In a distributed database, all
NonStop SQL/MP systems in the network cooperate with one another, yet each
system can manage and access its own local data independently of the other systems.