PROMO JULIO en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 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

Reglas de oro para la programación de bases de datos

Existe un conjunto de 5 reglas cuyo objetivo es optimizar la programación de las bases de datos:

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

Podemos minimizar el número de filas seleccionadas utilizando varias medidas:

  • Utilizando una cláusula WHERE

Debemos leer solo los registros de datos que realmente necesitamos. Podemos no utilizar el WHERE solo si s requieren todos los registros para cada acceso.

No utilizar WHERE es problemático para las tablas de base de datos que aumentan con el tiempo porque los volúmenes crecientes de datos se transfieren con el tiempo.

  • Trabajando con la cláusula HAVING

Se utiliza junto con la cláusula GROUP BY para seleccionar solo ciertos grupos haciendo restricciones a las filas agrupadas, por ejemplo, en los valores agregados.

  • Transfiriendo solo las filas requeridas

Siempre debemos transferir solo los registros de datos que realmente necesitamos. Nunca debemos eliminar los datos que no necesitamos en el servidor de aplicaciones en el programa ABAP y, por lo tanto, transferirlos innecesariamente desde la base de datos.

Un ejemplo que cae bajo esta regla se refiere a la selección de datos en tablas internas, de las cuales los registros de datos que son innecesarios se eliminan usando la sentencia DELETE.

Significado de la Regla 1 para SAP HANA

Esta regla se aplica sin cambios y con la misma prioridad para SAP HANA.

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

La segunda regla de oro recomienda que debemos transferir la menor cantidad de datos posible entre la base de datos y el servidor de aplicaciones.

Como programador, podemos hacer esto al influir en el número de filas y columnas seleccionadas mediante restricciones que van más allá de la condición WHERE.

  • Utilizando la adición UP TO n ROWS

Si solo necesitamos un cierto número de filas, podemos utilizar UP TO n ROWS para restringir aún más el número de filas.

  • Trabajando con DISTINCT

Si el sistema calcula con una determinada condición WHERE que tiene entradas duplicadas innecesarias con respecto a las columnas seleccionadas, la instrucción DISTINCT debe usarse para eliminar las entradas duplicadas que ya se encuentran en la base de datos. Debe evitarse en la medida de lo posible eliminar los duplicados después de la selección con DELETE ADJACENT DUPLICATES.

  • Reduciendo el número de columnas

Debemos seleccionar solo las columnas de una tabla de base de datos que son necesarios en el programa. La selección de todas las columnas mediante SELECT * solo se debe realizar si todas las columnas son realmente necesarias.

  • Utilizando funciones de agregación

Si solo se requieren datos para los cálculos, es mejor realizar estos cálculos en la base de datos y transferir los resultados en lugar de transferir todos los datos y realizar el cálculo en el programa ABAP.

Las funciones agregadas disponibles son COUNT, MIN, MAX, SUM y AVG.

  • Modificando solo las columnas necesarias

Para realizar cambios con la instrucción UPDATE, solo las columnas deseadas deben cambiarse con la instrucción SET.

Al cambiar filas de áreas de trabajo o estructuras, generalmente se transfieren demasiados datos y las columnas que no han cambiado también se sobrescriben.

Significado de la Regla 2 para SAP HANA

La prioridad de la regla es ligeramente superior a la de otras bases de datos.

3. Reducir el número de ejecuciones de consulta

Para reducir la carga en la base de datos, debemos mantener el número de accesos lo más bajo posible.

  • Usando operaciones de conjunto en lugar de operaciones individuales

Al leer con SELECT, debemos elegir la adición INTO TABLE en lugar del bucle SELECT...ENDSELECT si todos los datos a leer caben en la memoria principal.

Para los accesos de escritura (INSERT, UPDATE), debemos confiar siempre que sea posible en las operaciones de configuración con tablas internas (FROM TABLE). El número de consultas se reduce considerablemente, y la base de datos puede realizar más optimizaciones con los datos que se transfirieron todos a la vez.

  • No realizando más accesos múltiples

Debemos asegurarnos de no acceder repetidamente a los mismos datos.

Por ejemplo, evitemos realizar un SELECT antes de un DELETE para el mismo registro de datos.

  • No utilizando bucles con SELECT anidados

Para los bucles de SELECT anidados, la instrucción SELECT interna se ejecuta una vez para cada registro de datos que devuelve el bucle SELECT externo. Por lo tanto, tal construcción solo debe usarse si el conjunto de resultados del bucle externo contiene muy pocas filas.

Para fusionar conjuntos de datos, es recomendable utilizar:

  • Joins
  • Vistas
  • For all entries

  • Utilizando buffers

El uso del buffer de tabla SAP y otros buffers también contribuyen a minimizar el número de declaraciones SQL que se envían a la base de datos.

Significado de la Regla 3 para SAP HANA

Esta regla tiene una prioridad más alta para SAP HANA que para otras bases de datos.

4. Minimizar el esfuerzo de búsqueda

Analizaremos el esfuerzo involucrado en la selección del conjunto de datos que se restringió a través de las cláusulas WHERE y HAVING.

Podemos minimizar el esfuerzo de la búsqueda de datos con un índice.

Con SAP HANA, distinguimos entre índices invertidos y compuestos.

Los índices 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 posible con los índices invertidos.

El mantenimiento de los índices también aumenta los costos de acceso de escritura en SAP HANA. Sin embargo, estos costos son menores para los índices invertidos que para los compuestos, para los cuales se deben mantener múltiples estructuras de memoria.

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

En principio, solo se deben crear índices adicionales si los tiempos de acceso son insuficientes sin un índice. En este caso, se debe crear un índice para las condiciones selectivas, siempre que no estén cubiertas por el índice primario.

Significado de la Regla 4 para SAP HANA

El cumplimiento de esta regla tiene una prioridad más baja porque en muchos casos no se requiere ningún índice en SAP HANA.

5. Reducir la carga en la base de datos

Debemos mantener la carga para operaciones repetidas en la base de datos los más pequeña posible.

  • Utilizando buffers

No hay cambios en las recomendaciones para el almacenamiento en buffer de datos cuando se usa SAP HANA.

El acceso al buffer en el servidor de aplicaciones es aún más rápido que acceder a la base de datos también para SAP HANA. Esto se debe a que la memoria del servidor de aplicaciones se encuentra en el mismo servidor en el que se ejecuta el programa ABAP.

Debemos continuar almacenando en buffers todos los datos que requieren mucho tiempo para obtener o calcular, y cualquier dato utilizado más de una vez. Esto aliviara la base de datos de consultas costosas repetidas.

Significado de la Regla 5 para SAP HANA

Esta regla tiene la misma prioridad en SAP HANA.


 

 

 


Sobre el autor

Publicación académica de Ricardo Daniel Tovar Barrera, en su ámbito de estudios para el Máster ABAP for HANA.

SAP Senior

Ricardo Daniel Tovar Barrera

Profesión: Consultor Abap - Mexico - Legajo: WC52Q

✒️Autor de: 15 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Ricardo Tovar