✒️Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA
Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA
Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA
1. Almacenamiento por columnas vs Almacenamiento por filas
- Al crear una tabla se puede elegir crearla con almacenamiento por columnas (columnar) o por filas. Por defecto se creará por columnas
- Se recomienda configurar por columnas, a menos que haya una razón específica para hacerlo por filas
- El almacenamiento por columnas proporciona mejores propiedades de compresión, lo que aplica muy bien para tablas con gran cantidad de registros
2. Implementaciones específicas de SAP HANA
- En el desarrollo de ABAP en SAP HANA se tienen dos escenarios:
- Implementaciones independientes de la base de datos: Por ejemplo utilizando Open SQL y ABAP CDS
- Implementaciones que utilizan funciones específicas de SAP HANA: por ejemplo SQL nativo y HANA CDS
- En el primer caso no hay que considerar nada especial desde la perspectiva de la logística del software
- Se usa SAP HANA como cualquier otra base de datos, pero nos beneficiamos directamente de la alta velocidad dd procesamiento
- Los desarrollos son ejecutables en todos los sistemas de bases de datos soportados por Sap
- Para optimizar rendimiento de una aplicación Abap existente, se recomienda usar herramientas estándar
2.1 Primero Open y luego Native
- Preferiblemente debemos usar las vistas de Open SQL y CDS, antes de implementar SQL nativo, vistas de Sap Hana o procedimientos de base de datos
- El servidor de aplicaciones Abap no requiere de usuario adicional para la base de datos Sap Hana
2.2 Primero ABAP CDS y luego HANA CDS
- Debemos utilizar los procedimientos de la base de datos Abap en lugar de los procedimientos de la base de datos Hana
- Los objetos de desarrollo gestionados por Abapa As se vinculan de forma óptima con la gestión del ciclo de vida Abap
- Se puede sincronizar fácilmente los procedimientos de la base de datos Abap con otros objetos Abap y transportarlos
3. Recomendaciones para la migración
3.1 Código Abap dependiente de la base de datos
- Hay que probar y ajustar este tipo de código, por ejemplo el uso de SQL nativo con declaración EXEC SQL, o los hints
3.2 Conversión tablas de pool y cluster
- Como este tipo de tablas se convierten en tablas transparentes, pueden surgir problemas con el ordenamiento implícito, el cual se pierde al volverse transparente
3.3 Comportamiento del ordenamiento
- Hay que realizar ORDER BY en la declaración SQL SQLECT para controlar el ordenamiento
- En SAP HANA el ordenamiento implícito no esta garantizado porque los datos están orientados a columnas
4. Pautas de performance
Existen 5 reglas para optimizar la programación de bases de datos:
- Mantener el conjunto de resultados lo más pequeño posible : Usando WHERE, trabajando con HAVING, transfiriendo solo filas requeridas
- Mantener el conjunto de datos transferido lo más pequeño posible : Usando la adición UP TO n ROWS, trabajando con DISTINCT, reduciendo el número de columnas, utilizando funciones de agregación (count, min, max, sum, avg), realizando chequeos de existencia eficientemente, modificando solo las columnas necesarias.
- Reducir el número de ejecuciones de consulta : Usando operaciones de conjunto en lugar de operaciones individuales, no realizando más accesos múltiples a los mismos datos, no utilizar bucles con SELECT anidados, no ejecutar instrucciones SELECT en el LOOP a través de tablas internas, utilizando buffers.
- Minimizar el esfuerzo de búsqueda : Con índices. En bases de datos clásicas se da un menor esfuerzo de E/S, optimiza consumo de memoria caché, reduce el consumo de CPU y optimiza la transferencia de red por transferir menos datos. En SAP HANA tiene una prioridad mas baja porque en muchos casos no se requiere ningún índice; en SAP HANA los índices generalmente se crean para columnas individuales.
- Reducir la carga en la base de datos : Utilizando buffers, ordenando los datos, evitando accesos idénticos.
 
 
 
Sobre el autor
Publicación académica de Sergio Diaz, en su ámbito de estudios para el Máster ABAP for HANA.
Sergio Diaz
Profesión: Ingeniero de Sistemas - Colombia - Legajo: BB75D
✒️Autor de: 14 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Sergio Diaz