✒️ABAP HANA / Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA Por Ricardo Tovar Barrera

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

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.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Ricardo Daniel Tovar Barrera, en su ámbito de estudios para el Master 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

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA" de la mano de nuestros alumnos.

SAP Master


Las recomendaciones para desarrollar aplicaciones ABAP en SAP HANA. Recomendaciones generales para desarrollo ABAP en SAP HANA Se enfatizó la importancia de considerar recomendaciones generales, migración y optimización de programas. Es fundamental comprender las diferencias y cambios respecto a bases de datos tradicionales, especialmente en el contexto de grandes volúmenes de datos y acceso en tiempo real. SAP recomienda siempre usar almacenamiento por columnas salvo razones específicas; esto mejora la eficiencia y compresión de datos. Se presentaron las diferencias entre implementaciones independientes de base de datos (Open SQL, ABAP CDS) y funciones...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



La búsqueda de textos y el análisis de datos no estructurados en SAP HANA permiten extraer valor de grandes volúmenes de información heterogénea, como documentos, correos, registros sociales o descripciones. Estas capacidades utilizan algoritmos lingüísticos, búsqueda semántica y funciones de minería de texto para identificar patrones, clasificar información y generar conocimiento útil para la toma de decisiones. En este contexto, la programación ABAP HANA avanzada integra técnicas optimizadas que aprovechan la potencia de la base de datos in-memory. Esto incluye el uso de CDS Views, AMDP y procedimientos SQLScript para ejecutar lógica de negocio...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

“FIND SELECT FOR POOL/CLUSTER TAB WITHOUT ORDER BY” Este mensaje significa que en tu código estás haciendo un: SELECT ... FROM [tabla pool o cluster] INTO ... ...sin usar una cláusula ORDER BY, y eso es potencialmente problemático. Pero más allá del ORDER BY, también está el tema de las tablas pool/cluster. ¿Qué son las tablas pool/cluster? Son un tipo antiguo de tablas en SAP: TipoCaracterística Pooled Tables Varias tablas lógicas almacenadas en una única tabla física. Cluster Tables Datos comprimidos de varias tablas almacenados juntos....

Acceder a esta publicación

Creado y Compartido por: Exequiel Eduardo Acevedo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Tips Practicos importantes al desarrollar aplicaciones ABAP en SAP HANA Pautas de performance: la velocidad de ejecucion de los programas, naturalmente, desempeña un papael crucial en el contexto de SAP HANA Muchos escenarios de uso implican el acceso a grandes conjuntos de datos en tiempo real. Una comprension solida de las pauutas y tecnicas para lograr un rendimiento optimo es escencial. El Almacenamiento por columnas vs Almacenamiento por filas Cuando se crea una tabla BD poder elegir crearla con almacenamiento por columnas (columnar) o por filas. Por defecto la tabla se creará con almacenamiento por columnas (Storage Type: poder elegir entre almacenamiento por columnas, filas o indefinido, por defecto se almacena por columnas)....

Acceder a esta publicación

Creado y Compartido por: Jeferson Jos Pena Curvelo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

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...

Acceder a esta publicación

Creado y Compartido por: Sergio Diaz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

Tips prácticos importantes al desarrollar aplicaciones ABAP. Comprensión solida de las pautas y técnicas para lograr un rendimiento óptimo es esencial Recomendaciones generales: Detalles para las migraciones y optimización de los programas ABAP Creación de tablas recomendando el almacenamiento por columnas.(Podrémos analizar grandes conjuntos de datos de forma eficiente y estos así podrán ser utilizados en escenario de análisis, también tendrán más propiedades de compresión, aplica a tablas que se utilizan para búsqueda de texto) Hints de la bbdd tienen el objetivo de forzar la ejecución de un indice y dividir la carga...

Acceder a esta publicación

Creado y Compartido por: Susana Mora

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior


En cuanto a la optimización de rendimiento, hay que familiarizarse con lo que ya trae SAP, estudiarlo y ver si es viable su uso. Hay veces que en funciones estándar te ves falta de optimización, puede ser que sea código que lleva ahí desde vete tú a saber cuando. Por ejemplo, para mostrar el nombre del mes de una fecha determinada en el idioma seleccionado, es tan sencillo como acceder a la tabla T247 que tiene todos los nombres de los meses en todos los idiomas y simplemente hacer un SELECT. Con cuatro líneas lo resuelves: SELECT SINGLE ltx FROM t247 INTO (vl_mes) WHERE spras = sy-langu AND mnr = v_fecha+4(2). IF sy-subrc NE 0. vl_mes = 'XXXXXXXXXX'. ENDIF. Si lo haces mediante la funcion,...

Acceder a esta publicación

Creado y Compartido por: Fernando Morales Del Rosario / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

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...

Acceder a esta publicación

Creado y Compartido por: Ricardo Daniel Tovar Barrera

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

Recomendaciones para desarrollar aplicaciones ABAP en SAP HANA ................................................................................................................................................................................................. Recomendaciones Generales para realizar la migración y el desarrollo en SAP HANA. Almacenamiento por columnas vs almacenamiento por filas: Las tablas de base de datos se crearán por defecto con almacenamiento por columnas (es más eficiente para analizar grandes volumentes de datos), aunque se podrá elegir que sea por fila, por columna o indefinido. Implementaciones específicas de SAP HANA: Se siguen dos esceneario: Implementaciones independientes...

Acceder a esta publicación

Creado y Compartido por: Johanna Thaina Rangel Lucero / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Unidad 2: Lección 5 Recomendaciones para desarrollar aplicaciones ABAP en SAP HANA Recomendaciones generales Pautas de Performance Recomendaciones generales 1. Almacenamiento por columnas vs almacenamiento por filas 2. Implementaciones específicas de SAP HANA En el desarrollo de ABAP en SAP HANA, debemos distinguir dos escenarios Implementaciones independientes de la base de datos: por ejemplo Open SQL y ABAP CDS Implementaciones que utilizan funciones específicas de SAP NADA: por ejemplo SQL nativo y AHAN CDS -- Primero Open y luego Native --Primero ABAP CDS y luego HANA CDS 3. Recomendaciones para la migración Una regla básica es que las aplicaciones ABAP son totalmente compatibles...

Acceder a esta publicación

Creado y Compartido por: Alejandra Soto Guerrero

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!