
Uno de los cambios planteados por HANA es el procesamiento de datos en la capa de base de datos (code pushdown).
1. NUEVAS OPCIONES TÉCNICAS
Al reducir el tiempo de ejecución
Programas de fondo por su tiempo de respuesta pueden convertirse en transacciones interactivas de diálogos o online, también incluye mejoras de análisis integrados y búsquedas de texto completo con tolerancia a errores, conocimo con el nombre de “Full Text Searches”
|
Búsquedas de Texto Completo (Full-Text Searches) y Fuzzy Search:
SAP HANA incluye motores de búsqueda avanzados nativos. Permite buscar información en las tablas de la base de datos de la misma forma en que buscas en Google. Esto incluye soporte para texto no estructurado, búsqueda difusa (tolerancia a errores ortográficos o campos incompletos) y reconocimiento de sinónimos de manera instantánea. [1,2]
|
Desarrollar aplicaciones nuevas e innovadoras utilizando ABAP y SAP ABAP, combinando aplicaciones con funciones transaccionarles (OLTP) y de procesamiento análitico estadisticos (OLAP)
2. Code PushDown
Proceso de mover código de la capa de aplicación a la capa de BD se denomina pushdown de código o Code PushDown, para que las aplicaciones aprovechen las innovaciones de hardware y software de SAP HANA.
Las aplicaciones ABAP utilizan hasta ahora el paradigma data-to-code y las de SAP HANA utilizan el paradigma code-to-data
Con data-to-code en un programa ABAP lee los registros de la BD y las almacena en las tablas internas del servidor de aplicaciones y allí su lógica de cálculo, para luego transferir los registros a la capa de presentación.
Al aplicar el paradigma code-to-data a un programa ABAP, los datos code-to-data son almacenados en la BD, con este enfoque los datos transferidos desde la BD al servidor de aplicaciones se pueden mantener al mínimo.
3. La base de datos como una caja blanca
Si la lógica de la aplicación o parte de ella, debe ahora ejecutarse (y posiblemente implementarse) en la BD, ahora ya no debe verse la bd como una caja negra, para beneficiarse de SAP HANA y lograr un rendimiento óptimo la BD debe convertirse en una caja blanca.
Caja negra, conocimiento de sus entrada y salidas, sin tener en cuenta su funcionamiento interno.
Nota: Al optimizar programas para SAP HANA, siempre debemos preguntarnos si estos programas también van a utilizarse en diferentes sistemas de BD (que a menudo es el caso).
4. Calificaciones requeridas para los desarrolladores ABAP
4.1 Impacto de Sap HANA en el desarrollo de aplicaciones?
Comprender los impactos y sobre todo adquirir experiencia.
Para optimizar aplicaciones existentes para SAP HANA, por su performance, necesitamos conocer qué programas y patrones de código dentro de esos programas son candidatos a ser modificados.
- Familiarizarnos con herramientas de desarrollo que se utilizan para identificar los programas a optimizar para pasar al nuevo paradigma code-to-data.
Resumen, video de ejemplo práctico de la aplicación
Disminución de tiempo procesamiento de 709 ms vs 324 ms, pasando la lógica de cálculo a la BD.
Explicación de código solución a ejercicio:
La optimización consiste en reemplazar el SELECT ... ENDSELECT, que transfiere todos los registros al servidor de aplicaciones, por una función de agregación SUM() ejecutada directamente en SAP HANA. De esta forma se reduce el volumen de datos transferidos y el procesamiento se realiza en la base de datos, siguiendo el paradigma Code-to-Data.
|
*ABAP clásico
DATA v_suma TYPE i.
SELECT SUM( seatsocc )
INTO v_suma
FROM sflight
WHERE carrid = 'LH'
AND fldate BETWEEN '20180101'
AND '20181231'.
WRITE: / v_suma.
|
* ABAP Moderno:
DATA(v_suma) TYPE i.
SELECT SUM( seatsocc )
INTO @v_suma
FROM sflight
WHERE carrid = 'LH'
AND fldate BETWEEN '20180101'
AND '20181231'.
WRITE: / v_suma.
|