SAP HANA is an in-memory database. This means all the data is in RAM. As we all know that RAM is a volatile memory and all the data get lost when power goes down.
This leads to a very obvious question:
What happens when power goes down in SAP HANA? Do we loose all the valuable data?
The answer is NO.
SAP HANA is an in-memory database which means all the data resides in RAM. But there is also a disc memory just for backup purpose.
In-memory computing is safe: The SAP HANA database holds the bulk of its data in memory for maximum performance, but still uses persistent storage (disk memory) to provide a fallback in case of failure.
Why Backup is Required?
In database technology, atomicity, consistency, isolation, and durability (ACID)
is a set of requirements that guarantees that database transactions are processed reliably:
A transaction has to be atomic
. That is, if part of a transaction fails, the entire transaction
has to fail and leave the database state unchanged.
of a database must be preserved by the transactions that it performs.
ensures that no transaction is able to interfere with another transaction.
means that after a transaction has been committed it will remain committed.
While the first three requirements are not affected by the in-memory concept, durability is
a requirement that cannot be met by storing data in main memory alone.
Main memory is volatile storage. That is, it looses its content when it is out of electrical power. To make
data persistent, it has to reside on non-volatile storage, such as hard drives, SSD, or Flash devices.
How Backup and Recovery Works in SAP HANA?
The main memory (RAM) in SAP HANA is divided into pages.
When a transaction changes data, the corresponding pages are marked and written to disk storage in regular intervals.
In addition, a database log captures all changes made by transactions. Each committed transaction generates a log entry that is written to disk storage. This ensures that all transactions are permanent.
Figure below illustrates this. SAP HANA stores changed pages in savepoints, which are asynchronously written to disk storage in regular intervals (by default every 5 minutes).
The log is written synchronously. That is, a transaction does not return before the corresponding log entry has been written to persistent storage, in order to meet the durability requirement, as described above.
After a power failure, the database can be restarted like a disk-based database.
The database pages are restored from the savepoints, and then the database logs are applied (rolled forward) to restore the changes that were not captured in the savepoints.
This ensures that the database can be restored in memory to exactly the same state as before the power failure.
Data backup can be taken manually or can be scheduled.
Few Important Concepts:
What is Database Backup and Recovery
Backup and Recovery is the process of copying/storing data for the specific purpose of restoring.
Backing up files can protect against accidental loss of user data, database corruption, hardware failures, and even natural disasters.
A savepoint is the point at which data is written to disk as backup.
This is a point from which the Database Engine can start applying changes contained in the backup disk during recovery after an unexpected shutdown or crash.
The database administrator determines the frequency of savepoints.
Data and Log:
- Contain the current payload of the data volumes (data and undo information)
- Manual (SAP HANA studio, SQL commands), or scheduled (DBA Cockpit)
- Contain the content of closed log segments; the backup catalog is also written as a log backup
- Automatic (asynchronous) whenever a log segment is full or the timeout for log backup has elapsed
Check below SAP notes to find out more about SAP HANA backup and recovery.
Scheduling the SAP HANA Backups:
SAP HANA database backup and recovery: