Resilience
Reality resilience is the ability of Reality to recover normal database operation after an application or system crash, without data corruption and with minimum disruption in service to database users.
Resilience can handle different aspects of recovery following a failure. You can configure one or more resilience options to do the following:
-
Ensure data integrity
-
Guard against loss of data
-
Minimise the amount of time when the database is not available
The features provided are:
-
Transaction Handling, which keeps sets of related database updates (transactions) together. Transaction Handling ensures that the updates defined as belonging within a transaction are maintained together as a set. If a transaction is not completed, the updates made since the start of the transaction are deleted from the database and the pre-updated items are restored. This prevents a database from becoming inconsistent due to a process failing in mid-transaction.
-
Transaction Logging, which logs all database changes to a dedicated log disk so that if a database is corrupted by an application or system failure, the logged changes can be re-applied to the database and data is not lost.
-
Rapid Recovery, which logs recent database structural changes to disk, so that in the event of a system failure, these can be rolled back and the database restored to a valid structure within minutes.
-
Shadow Database, which provides a greater level of resilience by maintaining a copy of the live database on separate disks, or disk partitions.
-
FailSafe, which provides the greatest level of resilience by maintaining two identical databases on different systems; one operating as the live database and the other as the standby.
Commands enlisted in the DataBasic and PROC programming languages are used to help with managing the database and enforcing resilience.