Real-Time Database Recovery
Modern databases systems often require that transactions are completed within a
specified time or else they must be aborted. In such real time systems, the
database cannot afford the time to stop all currently executing transactions,
restore the original database files and re-execute all committed transactions.
ObjectDatabase++ has been designed for the requirments of such a modern
real-time database.
ObjectDatabase++ allows for one transaction in one process to be independently
repaired by a transaction in another process, without the need to interrupt any
currently executing transaction. Our unique transaction
log file allows repair of the database without any undue interference to
the currently processing transaction. This compares with the usual transaction
control system with a trace log file, where all currently executing
transactions need to cease at the same time, creating an all or nothing effect
while recovery from the backup files proceed.
You can add real-time database features to your server application by following
the top-level design as pictured in the diagram below. It shows how your
database server can recover from a number of very serious problems originating
from any sub-system within your application.
ObjectDatabase++ has been written as one integrated system – not the usual
onion layering design, this means that ObjectDatabase++ can write through all
changes at the time of the commit transaction call and doing so without been
slower than other DBMS and in some cases, especially when dealing with a
high add/edit/delete object count - faster. This prevents any corruption of
table files and the automatic recovery of all information as of the time that
processing ceased (assuming no disk failure).
|