HANA: Más que una Base de Datos
SAP HANA no es solo almacenamiento rápido; es una plataforma de computación in-memory completa. Al eliminar la latencia de disco para operaciones principales, cambia el paradigma de desarrollo: el cálculo intensivo ("Code-to-Data") se mueve de la capa de aplicación al motor de base de datos.
Arquitectura Interna y Procesos OS
A nivel de Sistema Operativo (Linux), una instancia HANA se compone de procesos críticos orquestados por
el hdbdaemon (watchdog). Los principales son:
- hdbindexserver: El "caballo de batalla". Contiene los datos reales y ejecuta los motores de cálculo SQL y OLAP. Consume la mayor parte de la RAM.
- hdbnameserver: Posee la topología del landscape. Es vital en escenarios Scale-out distribuidos para saber en qué nodo reside cada tabla.
- hdbpreprocessor: Procesa datos no estructurados para búsquedas de texto.
- hdbcompileserver: Compila procedimientos almacenados y programas SQLScript.
A nivel de persistencia en disco (Filesystem), se sigue un estándar estricto para garantizar rendimiento I/O:
/hana/data: Volúmenes de datos. Escritura asíncrona vía Savepoints. Requiere alto throughput./hana/log: Redo Logs. Crítico. Requiere latencia mínima de escritura ( < 1ms) ya que cada commit espera a este disco./hana/shared: Binarios y configuración global, compartido entre nodos.
Gestión de Memoria y Motores de Almacenamiento
El administrador debe vigilar el Global Allocation Limit (GAL). Si HANA intenta asignar más memoria que este límite, el proceso fallará (OOM), aunque exista RAM física libre en el servidor.
Para optimizar el uso de RAM, HANA emplea jerarquías de almacenamiento. La característica Native Storage Extension (NSE) permite marcar datos "tibios" (warm data) para que residan en disco y solo carguen a un buffer en memoria bajo demanda, reduciendo costos de infraestructura.
Column Store y el Mecanismo Delta Merge
El Column Store utiliza un ciclo de escritura sofisticado para mantener la compresión sin sacrificar velocidad de inserción:
- Delta Store (L1/L2): Las nuevas escrituras van a este almacenamiento temporal, optimizado para escritura y sin compresión pesada.
- Main Store: El almacenamiento principal, altamente comprimido y optimizado para lectura rápida.
- Delta Merge: Un proceso de fondo periódico fusiona los datos del Delta al Main, re-comprimiendo y re-indexando. Un fallo en el Merge puede degradar severamente el rendimiento de lectura.
Replicación y Disponibilidad (HSR)
La Replicación de Sistema (HSR) no solo copia datos, replica la persistencia de logs. En modo SYNC, el Primary espera el ACK del Secondary antes de confirmar un commit. En modo SYNC-MEM, espera solo a que el Secondary reciba el dato en memoria, sin esperar su escritura a disco, reduciendo latencia.
Instalación y Ciclo de Vida (HDBLCM)
El despliegue de SAP HANA ha evolucionado hacia la automatización y la gestión web. Dependiendo del escenario, disponemos de tres metodologías principales:
- Despliegue de Base de Datos (Manual):
El proceso estándar de instalación de la base de datos core utilizando
hdblcm. Ideal para entender los parámetros fundamentales, volúmenes de datos/log y la creación de la instancia. - SAP HANA Cockpit (XSA): Instalación de la plataforma de gestión centralizada. A diferencia de la DB estándar, esta requiere el despliegue del stack XS Advanced (XSA) para ejecutar las herramientas de administración web.
- SAP HANA Studio: El entorno IDE basado en Eclipse para administración profunda, modelado y desarrollo. Imprescindible para el administrador en local (Windows/Linux).
- Automatización con Ansible: El enfoque moderno basado en Infraestructura como Código (IaC). Permite estandarizar la preparación del SO (RHEL 8) y la instalación desatendida mediante Playbooks, algo vital en paisajes con múltiples nodos.
- HDBSQL (CLI): La herramienta de consola para ejecutar SQL directamente desde el sistema operativo. Fundamental para scripting, tareas automatizadas y administración sin interfaz gráfica.
- Scripts Python Nativos: Uso de herramientas
integradas como
landscapeHostConfiguration.pypara diagnósticos profundos del sistema y la replicación desde el Sistema Operativo. - SAPControl (HANA): Monitorización técnica y control de los procesos core (nameserver, indexserver) desde el Host Agent.
- Mantenimiento y Housekeeping: Estrategias para la limpieza automática de logs, trazas y catálogo de backups para optimizar el espacio.
- Monitorización Automática (Scripts)
- Certificaciones y Examen de Práctica
Monitorización vía SQL (System Views)
Aunque HANA Cockpit es la interfaz visual estándar para la monitorización, un experto usa Vistas de Sistema SQL para diagnóstico rápido:
M_SERVICE_MEMORY: Desglose de consumo de RAM por servicio lógico.M_DISKS/M_VOLUME_IO_TOTAL_STATISTICS: Para analizar latencias de disco y cuellos de botella I/O.M_EXPENSIVE_STATEMENTS: Identifica consultas que consumen excesiva CPU o Memoria, el primer paso para el Performance Tuning.M_DELTA_MERGE_STATISTICS: Salud del proceso de fusión de columnas.