🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️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

Recomendaciones para desarrollar aplicaciones ABAP en SAP HANA

Implementaciones específicas de SAP HANA

En el desarrollo de ABAP en SAP HANA, debemos distinguir 2 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.

Pautas que nos ayudan a elegir una implementación:

  • Primero Open y luego Native: Preferentemente debemos utilizar las vistas de Open SQL y CDS antes de implementar SQL nativo, vistas de SAP HANA o procedimientos de base de datos. Las funciones abiertas se integran de manera óptima con el entorno dee desarrollo ABAP y el tiempo de ejecución de ABAP. El servidor de aplicaciones ABAP no necesita ningún usuario adicional para la base de datos de SAP HANA.
  • Primero ABAP CDS y luego HANA CDS: Los objetos de desarrollo gestionados por ABAP AS se vinculan de forma óptima con la gestión del ciclo de vida ABAP. Podemos sincronizar fácilmente los procedimientos de la base de datos ABAP con otros objetos ABAP y transportarlos.

Recomendaciones para la migración

  • Código ABAP dependiente de la base de datos
  • Conversión de tablas pool y cluster: El ordenamiento que tienen se pierde después de la conversión a una tabla transparente, porque aquí no se agrega ORDER BY automático en la declaración. El code inspector nos proporciona la verificación "Find select for Pool/Cluster Tab without ORDER BY".
  • Comportamiento del ordenamiento: Con SAP HANA el ordenamiento implícito no está garantizado. Debemos utilizar ORDER BY.

Los datos orientados a columnas se pueden leer en paralelo.

Pautas de performance: Reglas de oro para la programación de bases de datos

1. Mantener el conjunto de resultados lo más pequeño posible.

Usando las cláusulas WHERE, HAVING, y transfiriendo sólo las filas requeridas.

2. Mantener el conjunto de datos transferidos lo más pequeño posible.

Usando UP TO n ROWS, DISTINCT (en vez de usar luego DELETE ADJACENT DUPLICATES), reduciendo el número de columnas, usando funciones de agregación.

Realizando chequeos de existencia eficientemente: No debemos usar SELECT COUNT (*) porque el npumero es irrelevante en este caso. La adición UP TO 1 ROWS no cambia nada porque se ejecuta después de contar. Lo correcto es seleccionar un campo cualquiera y ponerle UP TO 1 ROWS.

Modificando sólo las columnas necesarias: Para realizar cambios con UPDATE, sólo las columnas deseadas deben cambiarse con la instrucción SET.

3. Reducir el número de ejecuciones de consulta.

Usando operaciones de conjunto en lugar de operaciones individuales y usando buffers.

4. Minimizar el esfuerzo de búsqueda.

Los índices secundarios se crearán sólo para las tablas donde los accesos de lectura son más críticos en el tiempo que los accesos de escritura, ya que cada índice creado debe mantenerse para los accesos de escritura. Los campos que tienen más probabilidades de ser consultados con el operador = deben estar al principio del índice.

Con SAP HANA, distinguimos entre índices invertidos y compuestos. Los compuestos tienen un requisito de memoria más alto debido a las estructuras de memoria para una columna interna adicional. Por lo tanto, recomendamos trabajar lo más posibles con índices invertidos. Es decir, se debe crear un índice en cada caso para la columna que tenga la condición más selectiva. Los índices compuestos deben crearse sólo en casos excepcionales, por ejemplo, cuando los datos de diferentes columnas se correlacionan de tal manera que sólo ciertas combinaciones son selectivas.

Si estamos migrando un sistema existente a SAP HANA, ya no se crean todos los índices secuandarios existentes para las tablas con almacenamiento por columnas.

5. Reducir la carga en la base de datos.

Usar buffers (el acceso al buffer de la tabla es 10 veces más rápido que el acceso a los datos de la tabla), ordenar y evitar accesos idénticos.


 

 

 


Sobre el autor

Publicación académica de Sergio Ariel Del Sordo, en su ámbito de estudios para el Máster ABAP for HANA.

SAP SemiSenior

Sergio Ariel Del Sordo

Profesión: Analista Programador Abap - Argentina - Legajo: LE26W

✒️Autor de: 13 Publicaciones Académicas

🎓Egresado del módulo:

Presentación:

Soy analista programador universitario y la mayor parte de mi actividad laboral la desarrollé como programador abap. me interesa aprender sobre hana, ya que es lo que se está usando en las empresas.

Certificación Académica de Sergio Del