The distribution component SESDCN is the central element in the product SESAM/SQL-DCN. SESDCN has to be loaded in all configurations involved in distributed processing. The configurations in question can all be located on the same computer, or they can be located on different computers. If an application accesses a database which is under the control of a DBH and the DBH belongs to a different configuration from the application program, the access is referred to as a remote access. By contrast, if an application program only accesses a database which is under the control of a DBH that belongs to the same configuration as the application program itself, the access is referred to as local access.
The distribution component SESDCN is responsible for the following different tasks:
building and administration of distribution rules
receipt and forwarding of remote accesses to the appropriate SESAM/SQL-DBH
administration of database operations (e.g., the execution of administration statements and the detection of locks)
monitoring of local DBHs and application programs
coordination and execution of SESDCN recovery
Deadlock detection
Distributed Data Base Handler
A SESAM/SQL DBH must be loaded in each configuration or on each computer in or on which an application program accesses one or more databases. The DBH controls and administers database accesses. The DBHs engaged in distributed processing are referred to collectively as the Distributed Data Base Handler, or DDBH for short.
Distribution of statements
In distributed processing with SESAM/SQL-DCN, the connection module DBCON sends SQL and/or CALL DML statements issued by an application program during a session to the various DBHs for processing.
Each statement that does not complete a conversation or transaction is sent in full to a specific DBH by the connection module. A statement is therefore only processed by one DBH. This technique is known as function shipping. Only statements that terminate the current transaction (COMMIT, ROLLBACK in SQL, ETA in CALL DML) are sent to all DBHs involved in that transaction.
Defining distribution in the distribution rules
When statements are distributed, the application program does not see which DBH is processing what statement. In distributed processing, just as in non-distributed processing, the application program need only be aware of the database in which it addresses a specific table, for example.
What the application program needs no know is
which computer the database is stored on,
which configuration the database is assigned to,
which distribution components the connection module DBCON is sending the statements to (during remote access only), and
which DBH is processing the statements.
The connection module obtains all this information itself through the distribution rules which define the “access path” for each database; this path comprises the processor name, the configuration name, the DCN name and the DBH name. Because the connection module uses the database name as a search criterion, the database name must be unique throughout the distributed application, i.e. it must be unique network-wide.
Distribution rules are defined and administered using the distribution component SESDCN. System administrators define them using the SESDN control statements ADD-DISTRIBUTION-RULE-LIST and ADD-NETWORK-LINK-LIST. SESDCN builds the distribution rules on the basis of the statements is receives. Using administration commands, system administrators can also tune the distribution rules during live operation. SESDCN is administered via the same interfaces as the DBH.
Increasing throughput by loading more than one SESDCN
In most cases it suffices to load SESDCN once per configuration. However, if run-time response slows because SEDCN receives a large number of remote requests, the overall throughput in connection with remote accesses can be increased by loading more than one SESDCN. The transmission components are used more efficiently if remote requests are processed concurrently.
If more than one SESDCN is loaded, it is important to remember that only one SESDCN can be assigned to one DBH.