Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1998-07-10
2001-10-02
Choules, Jack (Department: 2777)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000
Reexamination Certificate
active
06298345
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Technical Field
This invention generally relates to database computer systems. In particular, the present invention relates to methods for journaling changes to a database to allow for recovery of the database should corruption of data in the database occur.
2. Background Art
Since the dawn of the computer age, computers have evolved and become more and more powerful. In our present day, computers have become indispensable in many fields of human endeavor including engineering design, machine and process control, and information storage and access. One of the primary uses of computers is for information storage and retrieval.
Database systems have been developed that allow a computer to store a large amount of information in a way that allows a user to search for and retrieve specific information in the database. For example, an insurance company may have a database that includes all of its policy holders and their current account information, including payment history, premium amount, policy number, policy type, exclusions to coverage, etc. A database system allows the insurance company to retrieve the account information for a single policy holder among the thousands and perhaps millions of policy holders in its database. A database typically has many users and processes that can change data in the database. One very important concern in database systems relates to the recovery of data should a problem, such as a power outage or system failure, cause the loss of data. Mechanisms have been developed to log or journal changes to a database so that the database can be reconstructed from the log or journal if data is lost for some reason. These mechanisms are referred to herein as journal mechanisms, realizing that different names may be used to refer to the journaling function.
The most common type of journal in modern database systems is the write-ahead journal. The write-ahead journal actually records a change to data in the database in the journal before recording the change in the database itself. In this manner, if a failure occurs between the journaling of the change and the change itself, the change will be properly made when the database is reconstructed from the journal.
Databases typically include a management mechanism that allows multiple processes to access and change data in the database at the same time. Each process, however, must record their changes in the same journal. Therefore, even though multiple processes are allowed to make changes to a database simultaneously, they must each “wait their turn” when making changes to the journal. (The act of recording change information in the journal is referred to herein as “depositing” information in the journal.) Thus, the journal can become a performance bottleneck when many processes are trying to access the journal at the same time.
While known journaling techniques allow information deposited in a journal to be written to multiple arms of a hard disk drive in parallel fashion, the deposits are typically serialized among processes to maintain the time-order of the deposits. Thus, the order of deposit reflects the order of changes in the database. In this manner the journal can be used to efficiently reconstruct the database when recovery becomes necessary. The problem, though, is that the time-ordering leaves the journal performance bottleneck in place.
The performance bottleneck of serializing entries to the journal can become an even greater problem in computing environments with multiple processors. As the number of processors increases, the number of processes that may access the database increases, causing a corresponding increase in contention for making deposits on the journal. The greater the number of processors, the more critical this performance bottleneck becomes. Without an improved mechanism and method for depositing database change information in a journal, the computer industry will continue to suffer from undue performance degradation caused by serializing deposits to the database journal.
DISCLOSURE OF INVENTION
According to the present invention, a journal mechanism for a database allows simultaneous deposits on multiple journal arms. According to a first embodiment, a journaling system maintains the time-order of interdependent deposits on the journal, but does not necessarily maintain the time-order of deposits that are independent of each other, thereby providing multiple simultaneous deposit points on the journal. The first embodiment provides excellent scaling of journal functions as processors are added to a database computer system. According to a second embodiment, a journaling system maintains the time-order of deposits on the journal, but allows a group of deposits known as a “bundle” to span multiple journal arms, thereby providing multiple simultaneous deposit points on the journal. The second embodiment provides good scaling while providing compatibility with known database systems. The present invention thus relieves contention for the journal that exists as the number of processors increases in a database system.
The foregoing and other features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings.
REFERENCES:
patent: 4020466 (1977-04-01), Cordi et al.
patent: 4077059 (1978-02-01), Cordi et al.
patent: 4159517 (1979-06-01), Paradine et al.
patent: 4819156 (1989-04-01), DeLorme et al.
patent: 5214780 (1993-05-01), Ingoglia et al.
patent: 5386554 (1995-01-01), Nozaki
patent: 5553285 (1996-09-01), Krakauer et al.
patent: 5594915 (1997-01-01), Atalla
patent: 5778168 (1998-07-01), Fuller
patent: 6023707 (2000-02-01), Hamada et al.
patent: 6052696 (2000-04-01), Euler et al.
Armstrong, Jr. William Joseph
Ricard Gary Ross
Torzewski Timothy Joseph
Choules Jack
International Business Machines - Corporation
Lewis Cheryl
Martin Derek P.
Martin and Associates, L.L.C.
LandOfFree
Database journal mechanism and method that supports multiple... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Database journal mechanism and method that supports multiple..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Database journal mechanism and method that supports multiple... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2613198