# SAP HANA

SAP HANA es la implementación de SAP SE de la tecnología de base de datos en memoria. Hay cuatro componentes dentro del grupo de software:
* SAP HANA DB (o HANA DB) se refiere a la tecnología de base de datos en sí.
* SAP HANA Studio se refiere al conjunto de herramientas que proporciona SAP para modelar.
* SAP HANA Appliance se refiere a HANA DB como socio de Hardware presentadas en el certificado (véase más adelante) como un dispositivo. También incluye las herramientas de modelado de HANA Studio, así como herramientas de replicación y transformación de datos para mover datos a HANA DB
* SAP HANA Aplicación en nube se refiere a la infraestructura basada en la Computación en la nube para la entrega de aplicaciones (típicamente las aplicaciones existentes de SAP reescritas para ejecutarse en HANA).
HANA DB se aprovecha del bajo coste de la memoria principal (RAM), la capacidad del procesamiento de datos de los procesadores multinúcleo y el acceso rápido a datos de unidades de estado sólido con respecto a los discos duros tradicionales para ofrecer un mejor rendimiento de las aplicaciones analíticas y transaccionales. Ofrece un entorno de consulta multi-motor de procesamiento que le permite soportar tanto datos relacionales (con tanto en fila y columna orientado a representaciones físicas en un motor híbrido) así como el tratamiento gráfico y de texto para la gestión de datos no estructurados y semi-dentro del mismo sistema. HANA DB es 100% compatible con ACID.
Aunque HANA ha sido llamado de diversas maneras un acrónimo HAsso's New Architecture (una referencia al fundador de SAP Hasso Plattner) y de High Performance ANalytic Appliance, HANA es un nombre no es una sigla.

## Historia

SAP HANA es la síntesis de los tres productos por separado - TREX, P*Time y MaxDB.
* TREX (Recuperación y Extracción de texto) es un motor de búsqueda y comenzó en 1996 como un proyecto estudiantil en SAP en colaboración con DFKI. TREX se convirtió en un componente estándar de SAP NetWeaver en 2000. La memoria de los atributos se añadieron en 2002 y el almacén de datos columnar se añadió en 2003, como la manera de mejorar el rendimiento.
* En 2005, SAP adquirió Transact Menlo Park basado en tecnología in-Memory, Inc. Con la adquisición se produjo P*Time, en memoria de peso ligero de procesamiento de transacciones en línea (OLTP) tecnología RDBMS con un almacén basado en filas de datos.
* MaxDB (antes SAP DB), una base de datos relacional que viene de Nixdorf a través del Software AG (Adabas D) para SAP, se añadió a TREX y P*Time para proporcionar persistencia y características de base de datos más tradicionales como la copia de seguridad.
En 2008, SAP CTO Vishal Sikka escribió sobre HANA "... nuestros equipos de trabajo en conjunto con el Instituto Hasso Plattner y la Universidad de Stanford demostró cómo una arquitectura de nueva aplicación es posible, uno que permite en tiempo real de análisis complejos y de agregación, al día de cada transacción, nunca de un modo parecido posible en las aplicaciones financieras ". En 2009, una iniciativa de desarrollo fue lanzada en SAP para integrar las tres tecnologías anteriormente mencionadas para proporcionar un conjunto de características más completo. El producto resultante se denominó internamente y externamente como NewDB hasta que el cambio a HANA DB se finalizó en 2011.
SAP HANA no es primer producto in-Memory de SAP . Business Warehouse Accelerator (BWA, anteriormente denominado BIA) fue diseñado para acelerar las consultas mediante el almacenamiento de BW InfoCubos en la memoria. Esto fue seguido en 2009 por el explorador Accelerated SAP que combina la herramienta Explorador de BI con BWA como una herramienta para realizar análisis ad hoc. Otros productos de SAP que utilizan la tecnología in-Memory eran Segmentación CRM, By Design (para análisis) y Enterprise Search (búsqueda de rol basado en datos estructurados y no estructurados). Todas ellas se basan en el motor TREX.
Tomando un enfoque diferente de Planificación Avanzada y Optimización (APO) utiliza liveCache para sus análisis.

### Versiones, paquetes de servicio

El cofundador de SAP (y presidente del Consejo de Supervisión de SAP a partir de 2012) Hasso Plattner abogó por un sistema de emisiones "sin versión". Los paquetes de apoyo hasta la fecha han sido:
* SP0 - lanzado el 20 de noviembre de 2010; primer lanzamiento público de HANA
* SP1 - lanzado el 20 de junio de 2011; HANA disponibilidad general (GA); se centra como una operación de data mart
* SP2 – lanzado el 27 de junio de 2011; más funciones de data mart
* SP3 también conocido como HANA 1.5 – lanzado el 7 de noviembre de 2011; se centra en HANA como la base de datos subyacente en Business Warehouse (BW), también llamado Project Orange
* SP4 - Q2 proyectada, 2012; va a resolver una variedad de problemas de estabilidad y añade nuevas características para PN, de acuerdo con SAP

## Posición en el mercado
### Big data

Big data se refiere a los conjuntos de datos que exceden las capacidades de las herramientas de uso común. Si bien no existe una definición formal basada en el tamaño existe, estos conjuntos de datos alcanzan típicamente terabytes (TB), petabytes (PB), o incluso exabytes de tamaño. SAP HANA se ha posicionado como solución a los problemas de big data en el extremo inferior de esta escala. En el lanzamiento HANA comenzó con 1 TB de RAM que soporta hasta 5 TB de datos sin comprimir. A finales de 2011 el hardware de 8 TB de RAM se dispuso que el apoyo de hasta 40 TB de datos sin comprimir. SAP propiedad de Sybase IQ, con su más maduro MapReduce funcionalidad similar se ha citado como una forma potencialmente mejor para grandes conjuntos de datos.

### Otras bases de datos comercializadas por SAP

SAP todavía ofrece otros productos de bases de datos:
* MaxDB
* Sybase IQ
* Sybase ASE
* SQL Anywhere
Como empresa agnóstica de base de datos, SAP también revende bases de datos de proveedores como IBM, Oracle y Microsoft para sentarse bajo su ERP Business Suite.

### Competencia

Ofreciendo su propia solución de base de datos para apoyar su Business Suite ERP SAP se pone en competencia directa con algunos de sus socios más grandes, como IBM, Microsoft y Oracle. Entre los productos más destacados que compiten son:
* accesorios
   * Microsoft Parallel Data warehouse (Microsoft)
   * Active Enterprise Data Warehouse 5600 (Teradata)
   * Exadata Database Machine (Oracle)
   * Exalytics In-Memory Machine (Oracle)
   * Greenplum Data Computing Appliance (EMC)
   * Netezza Data Warehouse Appliance (IBM)
   * Vertica Analytics Platform (HP)
* En sistemas de memoria de bases de datos
   * Kognitio Analytical Platform (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). (Kognitio)
   * SolidDB (IBM)
   * Times Ten (Oracle)
   * Terracotta BigMemory Archivado el 4 de agosto de 2011 en Wayback Machine. (Software AG)
   * Manifact (Manifact)

## Aplicaciones
### Estrategia de planificación de la plantilla

SAP Business Objects Strategic Workforce Planning (SWP) fue una de las primeras aplicaciones de SAP que se re diseñaron para aprovechar las capacidades de HANA. SWP en HANA está dirigido a ejecutivos de recursos humanos que quieren simular modelos de la fuerza de trabajo en tiempo real, teniendo en cuenta el volumen de negocios, la jubilación, la contratación y otras variables.

### Smart Meter Analytics

En septiembre de 2011 SAP lanzó su herramienta Smart Meter Analytics. Se trata de ayudar a las empresas de servicios públicos con grandes despliegues de medidores inteligentes para gestionar y utilizar la gran cantidad de datos generados por el medidor de este tipo.

## Ecosistema
### Socios de Hardware

A partir de 2012, los siguientes socios tienen soluciones de hardware certificados para HANA. En orden alfabético son:
* Cisco
* Dell
* Fujitsu
* Hitachi
* HP
* IBM
* NEC

### Comunidad de Desarrolladores

El punto central de la comunidad de desarrolladores en la plataforma SAP HANA es SAP HANA Centro de desarrollo o "el DevCenter". El DevCenter ofrece información general, los materiales educativos, foros de la comunidad, además de acceso a la base de datos SAP HANA con licencias libres:
* Evaluación durante 30 días,
* licencia de desarrollador gratuita de las imágenes alojadas en la nube pública.
El acceso a algunos materiales y características pueden requerir inscripción gratuita.

## Nube HANA

En septiembre de 2011 SAP anunció sus intenciones de asociarse con EMC y VMware para permitir una HANA basada en la infraestructura de aplicaciones en nube. Esta plataforma como servicio (PaaS) ofrece HANA DB-as-a-service junto con una opción de pila basada en Java o ABAP base. Las aplicaciones creadas para cualquiera pila tendrá acceso a través de las API de DB HANA a través de una variedad de APIs. El enfoque basado en Java, con nombre en código River Project, se basa en la NetWeaver 7.3.1 servidor de aplicaciones Java. El enfoque basado en ABAP está diseñado más para la base de usuarios de SAP - por ejemplo en la suite SAP Business ByDesign de aplicaciones empresariales como ERP, CRM y gestión de la cadena de suministro.

## Tecnología
### Arquitectura

En su forma más básica, la arquitectura del sistema de base de datos HANA tiene los siguientes componentes:
* Cuatro servicios de gestión
   * El componente de gestión de conexión y administra las sesiones Sesión / conexiones para clientes de bases de datos. Los clientes pueden utilizar una variedad de idiomas para comunicarse con la base de datos HANA.
   * El componente Administrador de transacciones ACID ayuda con el cumplimiento mediante la coordinación de las operaciones, el control y el seguimiento de aislamiento transaccional de funcionamiento y transacciones cerradas.
   * El componente de Administrador de autorización se encarga de toda la seguridad y la acreditación (ver Seguridad más adelante).
   * El componente de Metadata Manager gestiona todos los metadatos, tales como definiciones de tablas, vistas, índices y la definición de las funciones de secuencias de comandos SQL. Todos los metadatos, incluso de diferentes tipos, se almacena en un catálogo común.
* Tres componentes Motor de base de datos
   * Componente del cálculo de motor se ejecuta en los modelos de cálculo recibidos de SQL Script (y otros) los compiladores.
   * El Optimizador de componentes y el Plan Generador analiza y optimiza las solicitudes de cliente.
   * Componentes del motor de ejecución invoca los distintos In-Memory procesamiento de los motores y rutas resultados intermedios entre los pasos de ejecución consecutivos basados en el plan de ejecución optimizado.
* Tres Motores de almacenamiento en memoria
   * Motor Relacional
   * El motor de gráficas
   * Motor de texto
* Capa de persistencia

#### Almacén Columnas y filas

El motor relacional admite filas y columnas orientadas a representaciones físicas de tablas relacionales. Un administrador de sistema especifica en tiempo de definición si una nueva tabla se va a almacenar en una fila o en un formato orientado a columnas. Tablas de fila y columna de la base de datos orientada pueden ser perfectamente combinadas en una instrucción SQL, y posteriormente, las tablas pueden moverse de una representación a la otra.
El almacén de fila está optimizado para escritura concurrente y las operaciones de lectura. Mantiene todas las estructuras de índices en memoria en lugar de persistir en el disco. Utiliza una tecnología que está optimizada para la concurrencia y escalabilidad en sistemas multinúcleo. Por lo general, los metadatos o datos a los que raramente se accede se almacenan en un formato de fila-orientada.
Comparado con esto, el almacén de columna está optimizado para el rendimiento de las operaciones de lectura. Orientadas a columna de datos se guarda en un formato altamente comprimido con el fin de mejorar la eficiencia de uso de recursos de memoria y para acelerar la transferencia de datos desde el almacenamiento a la memoria o de la memoria de la CPU. El almacén de columna ofrece ventajas significativas en términos de compresión de datos que permite el acceso a mayores cantidades de datos en la memoria principal. Típicamente, los datos de usuario y la aplicación se almacena en un formato orientado a columnas beneficiándose de la alta tasa de compresión y del acceso altamente optimizado para las consultas de selección y agregación.

#### Biblioteca de funciones de empresas

La Biblioteca de funciones de negocios es una biblioteca reutilizable (similar a los procedimientos almacenados) para aplicaciones de negocio integradas en el motor de cálculo HANA. Esto elimina la necesidad para el desarrollo de tales cálculos a partir de cero. Algunas de las funciones que se ofrecen son:
* Depreciación anual
* Tasa interna de retorno
* Valor actual neto

#### Biblioteca de Análisis Predictivo

Al igual que en la Biblioteca de funciones de negocios, la biblioteca de Análisis Predictivo es una colección de funciones analíticas compiladas para análisis predictivo. Entre los algoritmos soportados son:
* K-means
* Análisis ABC
* C4.5
* Regresión lineal

#### Integración R

R es un lenguaje de programación diseñado para el análisis estadístico. Una iniciativa de código abierto (bajo el Proyecto GNU) R está integrado en HANA DB a través de TCP / IP. HANA utiliza SQL-SHM, una memoria compartida basada en el intercambio de datos para incorporar estructura vertical R de datos. HANA también introduce guiones R equivalentes a las operaciones de bases de datos nativas como unión o agregación. Los desarrolladores de HANA pueden escribir scripts R en SQL y los tipos se convierten automáticamente en HANA. Guiones R pueden ser invocados con mesas HANA como la entrada y salida en la SQLScript. Los entornos R necesitan ser desplegados para utilizar R en SQLScript.

### Almacenamiento

La capa de Persistencia es responsable de la durabilidad y la atomicidad de las transacciones. Gestiona los datos y los volúmenes de registro en el disco y proporciona interfaces para la escritura y lectura de datos que son aprovechados por todos los motores de almacenamiento. Esta capa se basa en la capa de persistencia probada de MaxDB. La capa de persistencia asegura que la base de datos se restaura al estado comprometido más reciente después de un reinicio y las transacciones que están completamente ejecutadas o deshecho por completo. Para lograr esto de manera eficiente, se utiliza una combinación de escritura anticipada de registros, paginación en la sombra y puntos de retorno.

#### Registro y transacciones

La capa de persistencia HANA gestiona el registro de todas las transacciones con el fin de proporcionar copia de seguridad y restaurar las funciones estándar. La misma capa de persistencia gestiona tanto filas como columnas de almacenamiento. Ofrece puntos regulares de guardado y el registro de todas las transacciones de base de datos desde el último punto de guardado.

#### Concurrencia y bloqueo

HANA DB utiliza el control de concurrencia multiversión (MVCC) principio de control de concurrencia. Esto permite transacciones de larga duración de lectura sin bloquear las transacciones de actualización. MVCC, en combinación con un mecanismo de tiempo de viaje, permite consultas temporales en el interior del motor relacional.

### Recuperación de datos
#### Datos no estructurados

Dado que las aplicaciones cada vez requieren más el enriquecimiento de datos normalmente estructurados con datos semi-estructurados, no estructurados, o texto, la base de datos HANA proporciona un motor de búsqueda de texto, además de su clásico motor de consultas relacionales.
El motor gráfico soporta la representación y el procesamiento de gráficos de datos con un sistema de tipificación flexible. Una nueva estructura de almacenamiento dedicado y un conjunto de operaciones de base optimizado se introducen para permitir operaciones eficientes gráfico a través del dominio específico del lenguaje WIPE consulta y manipulación. El motor gráfico está en condiciones de apoyar de manera óptima las aplicaciones de planificación de recursos con un gran número de recursos individuales y complejas interdependencias mash-up. El sistema de tipos flexibles, además, apoya la ejecución eficiente de los procesos de transformación, como la limpieza de datos pasos en los escenarios de almacenamiento de datos, para ajustar el tipo de las entradas de datos individuales, y permite la integración ad hoc de los datos de diferentes fuentes.
El motor de indexación de Texto proporciona texto y capacidades de búsqueda, como búsqueda exacta de palabras y frases, búsqueda difusa (que tolera errores de escritura), y la búsqueda lingüística (que encuentra variaciones de palabras basado en reglas lingüísticas). Además, los resultados de la búsqueda pueden ser clasificados y federar capacidades de búsqueda que permiten búsquedas de varias tablas y vistas. Esta funcionalidad está disponible para las aplicaciones específicas a través de extensiones de SQL. Para los análisis de texto, un servidor separado que usa un preprocesador que aprovecha la biblioteca SAP Text Analysis.

### Operaciones, administración
#### Copia de seguridad y recuperación

Inmediatamente después del lanzamiento, con Service Pack 2, copia de seguridad y la capacidad de recuperación se limita a la recuperación de Últimos datos back-up o mayor respaldo o recuperación en el último estado antes del accidente. Las características adicionales de seguridad fueron implementadas en el Service Pack 3. Estos incluían una opción de registro completo Copia de seguridad automática o manual y un Punto de In-Time de opción de recuperación. Las nuevas características incluyen la administración de un nuevo catálogo de copia de seguridad que registra todos los intentos de copia de seguridad.

### Modelado
#### Vistas no materializadas

Una consecuencia de la capacidad de Hana para trabajar con una base de datos completa en la memoria es que los cálculos de KPI computacionalmente intensivas se puede completar rápidamente cuando se compara con bases de datos basadas en disco. Pre-agregación de datos en cubos o almacenamiento de resultados en vistas materializadas ya no es necesario.

#### Compositor de información

SAP HANA Información Composer es una herramienta basada en web que permite a los usuarios cargar datos en una base de datos HANA y manipular los datos mediante la creación de Visitas de la Información. En la parte de adquisición de datos, los datos se pueden cargar, previsualizar y limpiar. En los objetos de la porción de manipulación de datos se puede seleccionar, combinar y se coloca en Visto información que puede ser utilizada por las herramientas de SAP BusinessObjects.

### Seguridad

Los permisos y roles de seguridad son gestionados por el Administrador de autorización en HANA DB. Además de los privilegios de base de datos estándar, tales como crear, actualizar o eliminar HANA DB también es compatible con los privilegios analíticos que representan los filtros o drill-down limitados en las consultas, así como los privilegios de acceso de control de acceso a los valores con ciertos atributos. Los componentes de HANA DB invocan al Administrador de autorización cada vez que necesitan comprobar los privilegios de usuario. La autenticación se puede hacer ya sea por la propia base de datos o se delega a un proveedor de autenticación externo, tal como un directorio LDAP.

### Rendimiento y escalabilidad

SAP ha declarado que los clientes han obtenido ganancias tan altas como 100.000 x en el rendimiento de consultas mejorado en comparación con los sistemas basados en la base de datos de disco. Sin embargo, ha habido una auditoría independiente de tales afirmaciones.

#### Puntos de referencia

En marzo de 2011, WinterCorp (una empresa independiente especializada en pruebas a gran escala de gestión de datos) fue retenido por SAP para auditar especificaciones de la prueba y los resultados de pruebas de funcionamiento. La prueba utilizaba conceptos similares a los de la industria estándar TPC-H de referencia. Los datos de prueba tenían entre 600 millones y 1,8 mil millones de filas y la prueba corrió cinco tipos de consultas analíticas y tres tipos de operación de consulta de informes. El rendimiento combinado de las consultas de informes analíticos y operativos funcionó entre 3007 consultas / hora y 10.042 consultas por hora, dependiendo del volumen de datos.

#### Arquitectura escalada

Para habilitar la escalabilidad en términos de volúmenes de datos y el número de solicitudes de aplicaciones, la base de datos HANA apoya la ampliación y la escala de salida. Por ampliación, todos los algoritmos y estructuras de datos están diseñados para trabajar en los grandes núcleos múltiples de arquitecturas especialmente centrados en la conciencia de caché de estructuras de datos y fragmentos de código. Para escalada, la base de datos HANA está diseñada para ejecutarse en un clúster de máquinas individuales que permitan la distribución de datos y procesamiento de consultas a través de múltiples nodos.