A Reliable Real-Time Recovery Manager
for Distributed Real-Time DBMS
in Switching Systems
Seung-Sun Lee and Wan Choi
Real-time DBMS Team
Switching & Transmission Technology Lab.
Electronics and Telecommunications Reasearch Institute
ssunlee@etri.re.kr
1. Introduction
Most real-time systems, especially the switching systems[4], keep the shared operational
data in the embedded real-time DBMS for real-time processing
and reliability. Since the real-time DBMS holds the whole databases
in main memory for high performance, preserving the reliable
database is an essential requirement. On the system failure,
moreover, the database recovery is crucial to the system reliability.
In this paper we suggest a real-time recovery method for the
main-memory DBMS which reflects the real-time characteristics
and overcomes the limitations in the switching systems.
The key idea of the proposed method is to employ a specific
manager called Real-Time Recovery Manager(RTRM), which
tackles the problems in the systems. In the switching systems,
the conventional recovery technique[1,2,3]
cannot be adopted due to the I/O overheads on the server processor.
The RTRM is devised for pseudo-parallel recovery of the databases
and relieves the disk overhead on the server processor.
The RTRM ensures that any erroneous databases can be repaired
and restored into a usable state from which normal processing
can resume. Even if the more client systems are appended to the
system, the stable databases can be guaranteed. And the proposed
recovery technique provides the better performance compared with
the conventional techniques.
2. System Configurations and Considerations
The switching systems[4]
which employ client-server architecture have several considerations
in designing the database recovery technique. Figure 1 shows
the basic layout of the switching system. Only the server system
is physically connected to a disk. All considerable features
are originated form the system configurations and the specialties
of the switching systems such as the space restriction and the
time limitation.
The two basic operations of the DBMS regarding the recovery
are the loading and the backup. Note that the disk operations
of the whole systems are performed by the server processor.
- At the system initialization, the server processor sequentially
loads the contents in disk into the main memory for each server
and client system. On the system failure also, the whole system
loading is performed.
- While the system running, the logs for the updated database
in all systems should be reflected on the disk.
Because of the characteristics of the switching systems, the
following considerations should be reflected in designing the
recovery technique.
- The volume of the loaded databases should be minimized. In
the initialization and the recovery time, most real-time systems
limit the total loading time of the whole system to several mi
nutes.
- The size and the number of logs should be minimized to reduce
the disk I/O requests at run time.
- The allocated volatile memory is restricted to the small
size. And the stable memory which simplifies the recovery mechanisms
cannot be provided.
3. Real-Time Recovery Technique
The basic paradigm of the proposed recovery technique is that
the recovery technique of index structures[5](we
abbreviate index structures to indices) should be designed differently
from that of the data part(In this paper, data part means
the whole database except indices) to tackle the constraints
of the systems. To implement the technique, a specific Real-Time
Recovery Manager(RTRM) is suggested in each system. It constructs
all the indices at the initial loading and the recovery of the
system. It is also responsible for recovering the indices while
transaction processing.
The RTRM consists of two controllers(Figure 2), Queue Controller(QC)
and Index Controller(IC). The QC controls a circular queue,
named Rollback Queue(RQ), in the critical section for
the exclusive accesses. The RQ maintains the information of the
indices to be recovered. The IC constructs all the indices just
after the initial loading and it recovers the corrupted indices(in
the RQ) by reconstructing them during transaction processing.
The technique maintains the large amount of indices on the
main memory only. Only the data part is loaded form the disk.
The index-construction is performed by the RTRM, particularly
the IC, using the loaded data part. The loading on a client system
and the constructing indices on the other client systems are
processed in parallel. Due to the parallelism, DBMS contributes
to obey the time constraint for the loading and the recovery.
While transaction processing, The RTRM performs the rollback
for indices. The time and the memory consuming logging for indices
is obviated. When a transaction aborts(Figure 3), the DBMS performs
the rollback of the data part using undo logs(arrow(1)). Then
the DBMS sends the information of the indices to be recovered
to the RTRM(arrow(2)). The RTRM performs rollback of the indices(arrow(3)).
The DBMS does not perform the rollback for the indices by itself.
Thus, the proposed technique enhances the transaction throughput.
In the switching systems with the client-server architecture,
it is advisable for every client processor to share the disk
I/O overhead on the server processor.
4. Conclusions
The recovery technique which reinstates the databases is an
important issue in real-time DBMS, because the system crash erases
the whole databases in main memory. The proposed recovery technique
ensures the reliable databases and relieves the systems from
the recovery problems. The advantages of the recovery method
are as follows:
- Hiring the RTRM in each system lightens the overhead on the
server processor significantly and offers an effective recovery
for databases.
- Adopting the parallel recovery mechanism contributes to obey
the time limitations for the system recovery.
- Reducing the processing time for transactions by obviating
the logs for indices makes the more transactions meet their deadlines
in real-time systems.
References
- 1 M. H. Eich, "A
classification and comparison of main memory database recovery
techniques," In Proc. Intl. Conf. on Data Engineering,
pp. 332-339, 1987.
-
- 2 J. Gray, "The
recovery manager of system R," ACM Computing Surveys,
vol.13, no.2, June 1981.
-
- 3 H. V. Jagadish,
"Recovering from main-memory lapses," In Proc. 19th
Int. Conf. on Very Large Data Bases, pp. 391-404, 1993.
-
- 4 Y. B. Kim, "An
architecture of scalable atm switching system and its call processing
capacity estimation", ETRI Journal, vol. 18, no.
3, pp. 107-124, Oct. 1996.
-
- 5 T. J. Lehman, "A
study of index structures for main memory database management
systems," In Proc. 12th Int. Conf. on Very Large Data
Bases, pp. 294-303, 1986.
|