Wondering why SAP HANA is such ground-shaking technology? What are the key advantages of SAP HANA over disk-based database solutions? Well, there are quite a few technical differences between databases that were designed to be stored on a disk versus one that was built to be entirely resident in-memory, as per the SAP HANA Essentials e-book. Here is a brief summary of some of the key advantages of SAP HANA over its disk-based cousins.
Pure In-Memory Database
With SAP HANA, all relevant data are available in main memory, which avoids the performance penalty of disk I/O completely. Either disk or solid-state drives are still required for permanent persistency in the event of a power failure or some other catastrophe. This doesn’t slow down performance, however, because the required backup operations to disk can take place asynchronously as a background task.
Multiple CPUs can now process parallel requests in order to fully utilize the available computing resources. So, not only is there a bigger “pipe” between the processor and database, but this pipe can send a flood of data to hundreds of processors at the same time so that they can crunch more data without waiting for anything.
Columnar and Row-Based Data Storage
Conceptually, a database table is a two-dimensional data structure with cells organized in rows and columns, just like a spreadsheet. Computer memory, in contrast, is organized as a linear structure. To store a table in linear memory, two options exist: row-based storage and column storage. A row-oriented storage system stores a table as a sequence of records, each of which contains the fields of one row. Conversely, in column storage the entries of a column are stored in contiguous memory locations. SAP HANA is a “hybrid” database that uses both methods simultaneously to provide an optimal balance between them.The SAP HANA database allows the application developer to specify whether a table is to be stored column-wise or row-wise. It also enables the developer to alter an existing table from columnar to row-based and vice versa. The decision to use columnar or row-based tables is typically a determined by how the data will be used and which method is the most efficient for that type of usage.
Because of the innovations in hybrid row/column storage in SAP HANA, companies can typically achieve between 5x and 10x compression ratios on the raw data. This means that 5TB of raw data can optimally fit onto an SAP HANA server that has 1TB of RAM. SAP recommends that companies double the estimated compressed table data to determine the amount of RAM needed in order to account for real-time calculations, swap space, OS and other associated programs beyond just the raw table data.
The SAP HANA database persistence layer stores data in persistent disk volumes (either hard disk or solid-state drives). The persistence layer ensures that changes are durable and that the database can be restored to the most recent committed state after a restart. SAP HANA uses an advanced delta-insert approach for rapid backup and logging. If power is lost, the data in RAM is lost. However, the persistence layer manages restore points and backup at high speeds (from RAM to SSD) and recovery from disk to RAM is so much faster than from regular disk.
Source: SAP HANA Essentials, by Jeffrey Word