SAP HANA Fundamentals & In-Memory Computing Paradigm
A foundational architectural guide to SAP HANA in-memory architecture, hybrid column and row store engines, columnar compression, and the transition from disk-bound RDBMS to real-time HTAP computing.
Core Learning Objectives
- 1.Understand how in-memory computing fundamentally transforms CPU latency and I/O bottlenecks.
- 2.Contrast Column Store and Row Store layouts, compression mechanisms, and memory footprints.
- 3.Compare SAP HANA against traditional RDBMS engines (Oracle, PostgreSQL, SAP ASE).
- 4.Explain the architectural differences between SAP HANA 1.0 and SAP HANA 2.0 (mandatory MDC).
- 5.Differentiate Scale-Up vs. Scale-Out hardware topology guidelines.
Definition & Architectural Rationale
Technical Definition:
SAP HANA (High-Performance Analytic Appliance) is an ACID-compliant, in-memory, column-oriented relational database management system designed to process high-volume operational transactions (OLTP) and real-time analytical queries (OLAP) simultaneously on a single data copy (HTAP).
Why this component exists:
Traditional RDBMS architectures (like Oracle 11g or IBM DB2) were architected when RAM was expensive and scarce. They relied on disk persistence with caching buffers (SGA, buffer pools), requiring elaborate materialized aggregations, secondary indexes, and ETL staging to deliver reporting performance. SAP HANA was built from the ground up to keep all hot transactional and analytical data resident in main memory, eliminating mechanical disk latency and duplicate database layers.
Internal Working & Mechanics
Architecture Flow Diagram
Production SQL Diagnostics
Provides aggregate memory consumption, record count, and table count divided between Row Store and Column Store.
Key Diagnostic Columns
ENGINE_TYPE:Column Store vs Row Store engineTABLE_COUNT:Number of loaded tablesTOTAL_RECORDS:Aggregate number of rowsALLOCATED_GB:RAM consumption in gigabytesExpected Diagnostic Output
ENGINE_TYPE | TABLE_COUNT | TOTAL_RECORDS | ALLOCATED_GB ----------------------------------------------------------- Column Store | 42150 | 1854200900 | 485.60 Row Store | 3120 | 14205000 | 32.10
Linux Terminal Diagnostics & Operations
Terminal Standard Output (stdout):
available: 2 nodes (0-1) node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23 node 0 size: 131072 MB node 0 free: 42100 MB node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31 node 1 size: 131072 MB node 1 free: 41980 MB node distances: node 0 1 0: 10 21 1: 21 10
Troubleshooting & Root Cause Analysis
Production Best Practices & Operational Risks
Mandatory Best Practices
- Keep Global Allocation Limit (GAL) set to 90% of physical RAM to leave headroom for OS kernel buffers and SAP Host Agent.
- Never run memory-hungry non-SAP background jobs on the dedicated HANA database host.
Risks & Common Gotchas
- HANA does not mean "no disks needed": Persistent storage (/hana/data and /hana/log) is mandatory for ACID recovery upon host reboot.
- Column Store tables must be loaded into RAM to be queried. A cold restart will load tables on demand or asynchronously based on preload flags.