Base de datos SAP HANA
6 de octubre de 2025SAP HANA es una plataforma in-memory que sirve de base para las soluciones empresariales modernas típicas de SAP. Esta tecnología permite el procesamiento de datos en tiempo real. Este artículo proporciona una visión general de la información básica sobre SAP HANA e instrucciones detalladas sobre cómo trabajar con ella. Cubrirá los siguientes pasos: instalación de la plataforma SAP HANA, procedimientos para utilizarla e instrucciones para realizar copias de seguridad de los datos.
SAP HANA es una plataforma en memoria que combina integra una base de datos y un servidor de aplicaciones. La clave está en su capacidad para almacenar y procesar datos directamente en la memoria operativa (RAM), lo que la distingue de las bases de datos tradicionales que almacenan los datos en un disco duro.
¿Por qué SAP HANA es algo más que una base de datos? 🧐
SAP HANA está diseñado para eliminar los sistemas separados para el procesamiento de transacciones (OLTP) y el procesamiento analítico (Con su arquitectura en memoria (los datos se almacenan y procesan en la memoria operativa) y el almacenamiento de datos en columnas, permite ambos tipos de procesamiento. almacenamiento de datos en columnas, permite realizar ambos tipos de operaciones en paralelo y con una velocidad excepcional.
Estas son las principales razones por las que SAP HANA va más allá de la base de datos tradicional:
- Plataforma unificada: SAP HANA integra la base de datos, el servidor de aplicaciones y las herramientas de datos integración y modelado. Esto simplifica la arquitectura de TI y reduce la latencia, ya que no es necesario mover datos entre diferentes sistemas.
- Desarrollo de aplicaciones: ofrece un entorno completo para el desarrollo de aplicaciones. Los programadores pueden crear y ejecutar aplicaciones directamente en la plataforma, aprovechando su alto rendimiento para análisis y transacciones en tiempo real.
- Capacidades analíticas avanzadas: SAP HANA incluye bibliotecas de procesamiento de texto integradas, análisis predictivo, geodatos, análisis de gráficos y aprendizaje automático. Esto permite a las empresas realizar análisis complejos y obtener una visión profunda de sus datos sin tener que migrar los datos a otras herramientas especializadas.
- Procesamiento en tiempo real: al almacenar los datos en memoria, SAP HANA puede procesar enormes volúmenes de datos en cuestión de segundos. Esto es crucial para las empresas que necesitan visibilidad instantánea del estado de sus operaciones, el comportamiento de los clientes o los resultados financieros.
En esencia, mientras que una base de datos tradicional solo almacena y proporciona datos, SAP HANA es un completo ecosistema que no sólo almacena los datos, sino que también los procesa en tiempo real, los analiza y permite construir sobre ellos aplicaciones complejas sobre ella.
Características principales de SAP HANA
- Procesamiento en tiempo real: Con la tecnología en memoria, SAP HANA puede analizar enormes volúmenes de datos en segundos. Esto permite a las empresas obtener información instantánea y reaccionar rápidamente a los cambios del mercado.
- Plataforma unificada: SAP HANA combina el procesamiento de datos transaccionales (OLTP) y analíticos (OLAP) en un único sistema. sistema. Esto elimina la necesidad de bases de datos separadas para diferentes tipos de tareas y simplifica la arquitectura de TI.
- Arquitectura orientada a columnas: Los datos se almacenan en columnas, lo que resulta ideal para una rápida agregación y análisis. Pero también admite el almacenamiento en filas, lo que proporciona flexibilidad para diferentes tipos de datos y tareas.
- Desarrollo de aplicaciones: SAP HANA no es solo una base de datos, también es una plataforma de desarrollo sobre la que crear aplicaciones innovadoras y de alto rendimiento.
¿Por qué SAP HANA es tan rápido?
La velocidad de SAP HANA se debe a varios factores:
- Datos en memoria: El acceso a los datos en RAM es significativamente más rápido que el acceso a los datos en un disco duro o SSD.
- Compresión de datos: El almacenamiento en columnas permite una compresión de datos más eficiente, lo que reduce los requisitos de memoria y aumenta la velocidad de procesamiento.
- Sin agregados ni índices: Las bases de datos tradicionales utilizan agregados e índices precalculados para acelerar las consultas. SAP HANA puede procesar los datos tan rápidamente que estas estructuras auxiliares no son necesarias, lo que simplifica el modelo de datos y reduce la huella de datos. modelo y reduce la huella de datos.
¿Por qué se creó la base de datos SAP HANA? las razones oficiales
Razón técnica
SAP HANA se creó en respuesta a las limitaciones fundamentales de las tecnologías de bases de datos tradicionales que ya no eran capaces de aguantar el ritmo de las crecientes demandas de las empresas modernas. El objetivo principal era permitir a las empresas procesar enormes volúmenes de datos e informes analíticos en tiempo real y, al mismo tiempo, convertir los pagos de la base de datos Oracle en ingresos para SAP.
Principales motivaciones y problemas que resuelve SAP HANA:
- Creciente volumen de datos: Con la transformación digital de las empresas, la cantidad de datos transaccionales y datos no estructurados. Las bases de datos tradicionales basadas en disco eran demasiado lentas para procesar estos datos de forma eficiente y analizarlos.
- Retrasos en el análisis: Históricamente, las empresas tenían que mantener dos estructuras de datos separadas: una para transacciones (OLTP) y otra para análisis (OLAP), a menudo en un almacén de datos. Los datos tenían que moverse entre las dos de forma regular moverse (proceso ETL), lo que provocaba retrasos e informes obsoletos. SAP HANA elimina este modelo.
- Limitaciones de rendimiento: Las bases de datos tradicionales están diseñadas para trabajar con datos en un disco duro, donde el acceso es significativamente más lento que en RAM. SAP HANA utiliza tecnología in-memory computing, haciendo que todas las operaciones sean significativamente más rápidas.
- Necesidad de simplificar la arquitectura de TI: La combinación de diferentes sistemas (base de datos, servidor de aplicaciones, herramientas analíticas) era compleja, costosa e ineficiente. SAP HANA fusionó estas funciones en una única plataforma unificada. unificada.
En esencia, SAP HANA se creó como una solución revolucionaria para permitir a las empresas responder con rapidez y eficacia a los cambios en el mercado y tomar decisiones estratégicas basadas en los datos actuales, no en los datos del día anterior.
La motivación estratégica detrás de SAP HANA
Durante mucho tiempo, aunque SAP fue el líder mundial en software de planificación de recursos empresariales (ERP), la mayoría de sus sistemas (como SAP ECC) se ejecutaban en bases de datos de terceros. La mayor cuota de mercado la ostentaba Oracle, lo que significaba que SAP y sus clientes dependían en gran medida de sus licencias y tecnología.
El desarrollo de SAP HANA permitió a SAP obtener varias ventajas estratégicas clave:
- Reducción de la dependencia de terceros: Al crear su propia plataforma in-memory, SAP se liberó de de tener que pagar licencias a Oracle y otros proveedores de bases de datos.
- Control total sobre toda la pila de software. solución optimizada. Esto les permitió diseñar aplicaciones (como SAP S/4HANA) para aprovechar al máximo la potencia y las características únicas de la base de datos HANA, lo que no era posible con las bases de datos de otros proveedores.
- Nueva fuente de ingresos: SAP comenzó a vender no solo sus aplicaciones, sino también su plataforma de base de datos, que socio se convirtió en un competidor directo de Oracle en el mercado de bases de datos.
La creación de SAP HANA supuso, por tanto, no sólo un cambio tecnológico, sino también un importante movimiento empresarial y estratégico que cambió la dinámica de todo el mercado de software empresarial.
¿Qué es una base de datos en memoria?
Base de datos en memoria (BIM) es un tipo de base de datos que almacena sus datos en la memoria operativa principal (RAM) del ordenador en lugar de los discos tradicionales (SSD/HDD).
La razón principal de este enfoque es la extrema velocidad de acceso a los datos. Mientras que el acceso a datos en disco requiere operaciones mecánicas o electrónicas que son relativamente lentas, la RAM permite un acceso casi acceso instantáneo, lo que resulta en transacciones y operaciones analíticas significativamente más rápidas.
¿Cómo funciona y cuáles son sus ventajas?
Los datos en IMDB se cargan en memoria cuando se inicia el servidor de base de datos y todas las operaciones (lectura, escritura, actualización) tienen lugar directamente en memoria. Con el fin de garantizar la persistencia de los datos, para que los datos no se pierdan en caso de fallo de alimentación o reinicio, se utilizan mecanismos adicionales como:
- Instantáneas periódicas: a intervalos regulares, todo el estado de la base de datos se guarda en el disco.
Las principales ventajas incluyen:
- Velocidad increíble: ideal para aplicaciones que requieren procesar grandes volúmenes de datos en como servicios financieros, telecomunicaciones o juegos online.
- Baja latencia: retraso mínimo en la respuesta a las consultas.
- Procesamiento paralelo: muchas IMDB están optimizadas para procesadores multinúcleo, lo que permite un eficiente procesamiento paralelo de las consultas.
¿Cuándo se utilizan las bases de datos en memoria?
Las bases de datos en memoria son ideales para:
- Análisis en tiempo real: Procesamiento de datos procedentes de sensores, clics en sitios web u otros datos en tiempo real.
- Comercio de alta frecuencia (HFT): Ejecución ultrarrápida de operaciones de comercio financiero. mercados.
- Gestión de sesiones: almacenamiento de sesiones de usuario y datos temporales para aplicaciones web.
- Caché de datos: acceso rápido a datos de uso frecuente sin tener que leerlos cada vez desde de un disco más lento.
Otras bases de datos en memoria además de SAP HANA
Las bases de datos en memoria son un enfoque moderno para el procesamiento de datos y hay una serie de otros grandes jugadores en el mercado. Estas bases de datos difieren en sus características, mercados objetivo y enfoque de aplicación.
-
Oracle TimesTen es una base de datos en memoria optimizada para aplicaciones con altas velocidades de respuesta y gran número de transacciones, como las telecomunicaciones o los servicios financieros. Funciona como base de datos independiente o como caché para bases de datos Oracle más grandes.
-
Microsoft SQL Server ha integrado la tecnología en memoria (denominada In-Memory OLTP) directamente en su núcleo de base de datos. Permite a las empresas acelerar el procesamiento de transacciones, las consultas y el almacenamiento de datos sin sin tener que migrar a una plataforma completamente nueva.
-
VoltDB es una base de datos diseñada específicamente para aplicaciones que requieren un gran número de transacciones en tiempo real, como la industria del juego online o el procesamiento de eventos.
-
SingleStore (anteriormente MemSQL) es una base de datos distribuida en memoria que combina el procesamiento analítico y transaccional. Está diseñada para la escalabilidad y el procesamiento rápido de grandes volúmenes de datos.
-
Un directorio es, más que una base de datos en toda regla, una **estructura de datos en memoria** que se suele utilizada como caché rápida, corredor de mensajes o almacenamiento temporal para aplicaciones web y aplicaciones web y móviles.
-
Apache Ignite es una plataforma de base de datos distribuida que sirve como una in-memory data grid de datos. Está optimizada para grandes volúmenes de datos y conectividad con otros sistemas.
-
Memcached es un sistema distribuido de libre acceso para el almacenamiento de objetos en la memoria operativa. operativa. Su principal objetivo es acelerar las aplicaciones web almacenando en RAM datos solicitados con frecuencia, como los resultados de consultas a bases de datos o llamadas a la API. Funciona como un simple tipo de almacenamiento key-value y, a diferencia de las bases de datos completas y, a diferencia de las bases de datos completas, no está pensada para el almacenamiento persistente de datos. Memcached es extremadamente rápido y eficiente para reducir la carga de las bases de datos, por lo que es una parte importante de la arquitectura de muchos sitios web de alto rendimiento. arquitectura de muchos sitios web y plataformas de alto rendimiento.
Instalación de SAP HANA
SAP HANA se puede ejecutar en Windows. Pero para cualquier sistema de base de datos, siempre es mejor utilizar un sistema Unix. Por lo tanto, sólo cubriremos la instalación de SAP HANA en LINUX OS.
SAP HANA soporta oficialmente sólo las distribuciones Linux RedHat y Suse. Y está hecho de tal manera que ni siquiera se puede instalar en otras distribuciones. Incluso la instalación manual es tan complicada que lo mejor es descargar una imagen del sistema ya hecha donde se instala SUSE más la base de datos SAP HANA.
Para descargar hay que registrarse. Luego probablemente haya una aplicación que te permita elegir lo que quieres descargar. Así que para las pruebas iniciales, lo más sencillo es pedirle a un compañero que te pase una imagen de máquina virtual base limpia. Esto evitará un proceso de descarga complicado. La versión 1.0 de SAP HANA requiere una cpu con instrucciones SSE4.2. Para que te funcione, asegúrate de elegir la arquitectura de CPU adecuada, ya sea física o virtual.
Después de arrancar, puede iniciar sesión a través de ssh en la cuenta hxeadm
.
ssh hxeadm@IPLa primera vez que inicie sesión, el sistema preconfigurado le pedirá que establezca una contraseña para el SO y para la base de datos SAP HANA, además de otros ajustes.
El PC imagen con la base de datos SAP HANA para Virtualbox tiene un usuario preconfigurado con una contraseña. User:hxeadm pass:HXEHana1 .
Después de iniciar sesión se requiere un cambio.
La imagen para VirtualBOx también se puede convertir e importar en la herramienta de virtualización Proxmox..
PD: existe un gestor de software zypper en la distribución SUSE Linux. Un comando para actualizar la lista de paquetes:
zypper update
Primera puesta en marcha de VPS con base de datos SAP HANA
Vídeo demostrativo de la primera puesta en marcha de un servidor virtual con una distribución SUSE preempaquetada y base de datos SAP HANA:
Listado de versiones de la BD:
Versión HDB
Un comando para detener todos los servicios asociados con el sistema de base de datos SAP HANA:
./HDB stopUn comando para detener todos los servicios asociados con el sistema de base de datos SAP HANA:
./HDB startComando para mostrar el estado del servicio sap-hana-tmpfs que gestiona el sistema de archivos temporales en memoria (tmpfs) para la base de datos SAP HANA.
systemctl status sap-hana-tmpfs
Por defecto, la base de datos SAP HANA se comunica en el puerto 8090.
Funcionamiento de vDocker
Otra opción es ejecutar la base de datos SAP HANA como un contenedor Linux, por ejemplo en Docker o incluso Kubernetes. Instalación de SAP HANA, edición express. con Docker. HANA 2.0 funcionando dentro de Docker Construir imagen docker con SAP HANA.
Comando para descargar SAP HANA como imagen para docker:
docker pull saplabs/hanaexpress
Conexión a la BBDD SAP HANA
Como siempre, existe la opción de conectarse desde la consola o utilizar el cliente gráfico.
Cliente Gráfico
El cliente gráfico que se puede ejecutar en Windows es: squirrel-sql.
El inicio de sesión a través de DBeaver funciona, sólo tiene que establecer un tipo de DB distinto del tipo predeterminado DB HANA. DBeaver es un cliente de base de datos gráfico universal I useDBeaver por ejemplo para conectarse a bases de datos MS SQL. La ventaja de DBeaver es que es multiplataforma, por lo que funcionará en Windows, Linux y macOS tanto en x86 como en x86_64 o ARM64.
Cliente de consola
Conexión a la base de datos:
/usr/sap/HXE/HDB90/exe/hdbsql -i 90 -d SystemDB -u SYSTEM -p 2021#Test
- -i es una opción para especificar el número de instancia.
- -d es una opción para especificar el nombre de la base de datos a la que desea conectarse. .
- -u es una opción para especificar un nombre de usuario para iniciar sesión.
- -p es una opción para especificar una contraseña.
Consultas SQL en SAP HANA
SQL (Structured Query Language), es un lenguaje de consulta, utilizado para gestionar y manipular datos en bases de datos relacionales. Es una forma estándar de comunicarse incluso con base de datos SAP HANA.
SAP HANA no distingue entre mayúsculas y minúsculas de forma predeterminada para identificadores como los nombres de tabla, columna o nombres de esquema.
SQL para crear una tabla e insertar registros:
CREATE TABLE status (id INT, text NVARCHAR(30) ); INSERT INTO estado (id,texto) VALUES (1, 'texto1'); INSERT INTO estado (id,texto) VALUES (3, 'Tres');
Ten en cuenta que escribir con comillas dobles no funciona:
INSERT INTO estado (id,texto) VALUES (1, "texto1");
SQL SELECT:
select * from estado;
Videotutorial sobre cómo conectarse a la base de datos SAP HANA y realizar una consulta SQL básica:
Inquilinos en SAP HANA
¿Qué es un tenant en bases de datos?
El término "tenant" en bases de datos hace referencia a un conjunto aislado de datos que pertenece a un único cliente o usuario en un entorno de arquitectura multitenant.
Arquitectura multitenant
La arquitectura multitenant es un modelo de software en el que una única instancia de una aplicación sirve a múltiples clientes. Cada cliente (tenant) comparte la misma instancia de base de datos, pero sus datos están estrictamente separados y aislados de los de otros clientes. Esta arquitectura es muy común en soluciones en la nube (SaaS - Software as a Service) porque permite a los proveedores gestionar y escalar el servicio de forma eficiente.
Características principales y ventajas
- Aislamiento de datos: cada tenant tiene su propio almacén de datos virtual, aunque esté ubicado físicamente en una base de datos compartida. Esto garantiza que los datos de un tenant no sean visibles para los demás.
- Eficiencia y ahorro de costes: ejecutar una única instancia de base de datos para muchos inquilinos es mucho rentable que gestionar y mantener una base de datos independiente para cada cliente. Recursos como la memoria y el procesador se comparten y utilizan de forma más eficiente.
- Más fácil de gestionar y actualizar. una ubicación, lo que simplifica el mantenimiento y la implantación de nuevas funciones para todos los clientes a la vez.
Ejemplos
Un ejemplo de arquitectura multitenant podría ser Salesforce u Office 365. En Salesforce, todos los clientes (inquilinos) comparten una base de datos gigante, pero los datos de cada empresa (como la suya) están lógicamente separados y sólo sus usuarios autorizados tienen acceso a ellos.
Ejemplo de trabajo con Tenants en SAP HANA
CREATE DATABASE TENANTDB SYSTEM USER PASSWORD Password1En pocas palabras, este comando hace lo siguiente:
- Crea una nueva base de datos de inquilino llamada TENANTDB.
- Para esta nueva base de datos, crea un usuario con derechos administrativos (superusuario) llamado SISTEMA.
- A este usuario SISTEMA se le asignará la contraseña1.
Esta base de datos TENANTDB
recién creada está aislada de otras bases de datos tenant
dentro de la misma instancia de SAP HANA. Cada una de estas bases de datos tiene sus propios usuarios, esquema y datos, lo que permite una eficiente
gestionar y separar diferentes proyectos o departamentos.
.
En una arquitectura SAP HANA multibase de datos, existe una base de datos maestra.
(SystemDB
),
que gestiona toda la instancia y todas las bases de datos tenant. Este comando se ejecuta en el contexto de
SystemDB
y se utiliza para crear una nueva
base de datos independiente para la aplicación.
Razones por las que utiliza bases de datos tenate en la práctica:
- Aislamiento de datos y aplicaciones: Cada aplicación o departamento puede tener su propia base de datos.
- Administración más sencilla: Los administradores pueden gestionar cada base de datos de forma independiente (por ejemplo, reiniciar, copia de seguridad, actualización).
- Optimización de recursos: Los recursos como la memoria y la CPU se comparten entre todas las bases de datos, pero se pueden gestionados de forma eficiente para cada una de ellas.
Parando la base de datos:
ALTER SYSTEM STOP BASE DE DATOS TENANTDB;Detener la base de datos del sistema:
ALTER SYSTEM STOP BASE DE DATOS HXE;
El comando para iniciar la base de datos:
ALTER SYSTEM START BASE DE DATOS HXE;
No debe crear tablas adicionales en la base de datos del sistema y almacenar allí los datos de los usuarios. ¡Sino crear una nueva base de datos=nuevo inquilino!
CREAR ESQUEMA esquema1Utilice el comando SCHEMA para crear un nuevo esquema denominado schema1 en la base de datos SAP HANA. En un contexto de base de datos, un esquema es un contenedor lógico que agrupa y organiza objetos de base de datos como tablas, vistas, funciones y procedimientos.
Creación de un esquema y uso de SQL para insertar datos:
CREAR TABLA esquema1.tabla (id INT, texto NVARCHAR(30) ); INSERT INTO esquema1.tabla (id,texto) VALUES (1, 'texto1');
Videotutorial sobre cómo utilizar y trabajar con inquilinos en la base de datos SAP HANA:
Copia de seguridad
Copia de seguridad y recuperación de datos se hace de forma complicada con la base de datos SAP HANA, por lo que tendré que escribirlo en un artículo aparte.
Si necesitas diseñar e implantar un proceso automatizado de copias de seguridad, ponte en contacto conmigo.
Más comandos
Determinar cuánto espacio está ocupando la base de datos:
select sum((tamaño_disco)/1024/1024/1024) from m_table_persistence_statistics;
Enlaces de interés
- Youtube: How to - HANA DB Manual Backup on Suse Linux
- Versiones de sistema operativo compatibles con SAP HANA
- Terminal interactivo de base de datos SAP Terminal interactivo de base de datos HANA (hdbsql) - por la SAP HANA Academy
- Cómo encontrar HANA tamaño de disco,tamaño de memoria,recuento de registros,uso de memoria de COLUMN TABLES en HANA
- Copia de seguridad y restauración de SAP HANA2 mediante scripts
- Tigon:SAP HANA Backup
- Cómo hacer una copia de seguridad de la base de datos SAP HANA utilizando la línea de comandos
Experiencia
Trabajar con la base de datos SAP HANA es complejo y complicado. Si te has decantado por ella y necesitas ayuda para gestionar y copia de seguridad no dudes en contactar conmigo a través de contacto.
Artículos sobre un tema similar
Comando AT
Docker build multiarch image
VMware frente a Proxmox: comparación de rendimiento
GitLab CI/CD: automatización de pruebas y despliegue de aplicaciones
Migración de VPS de VMware a Proxmox
Cambio en las licencias de VMware
Ejecución de Microsoft SQL Server en Linux
Copia de seguridad: el Proxmox Backup Server
Linux como router y cortafuegos
Cómo subir una imagen Docker al Registro Docker
Linux: gestión de volúmenes lógicos
Software RAID para Linux
Ejecutar una aplicación web detrás de un proxy
Migración de correo electrónico
Construcción multietapa Docker
Copia de seguridad de los datos al encender el ordenador
Podman
Importación de Windows a la virtualización Proxmox
Docker y correo PHP
Virtualización Proxmox
Docker y Cron
Lenovo ThinkPad X1 Carbon: puesta en servicio del módem LTE EM7544
Proyecto Yocto: Cree un sistema operativo personalizado para dispositivos integrados
Preparación de un servidor Linux para ejecutar una aplicación web en Python
Cómo solucionar el bajo rendimiento de los archivos compartidos en Docker
Cómo empezar a utilizar Docker correctamente
Instalación de Linux en un servidor HPE ProLiant DL320e dedicado
Cómo poner a prueba una aplicación web
Por qué utilizar el sistema de archivos JFS
Cómo arrancar desde un disco de 4TB con GTP usando UEFI
Sistema de archivos Btrfs
Raspberry PI
WINE - ejecución de programas Windous en Linux
Sistema operativo GNU/Linux
Boletin informativo
Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email
suscripción de noticias.
+