{"id":2334,"date":"2023-07-27T08:00:31","date_gmt":"2023-07-27T06:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=2334"},"modified":"2024-12-09T16:41:42","modified_gmt":"2024-12-09T15:41:42","slug":"consumo-de-memoria-en-hana","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/consumo-de-memoria-en-hana\/","title":{"rendered":"Consumo de memoria en Hana<br> <span class=\"font-300\"><\/span>"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Imagen principal&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/orekait.com\/wp-content\/uploads\/2023\/07\/Consumo-de-memoria-en-Hana.png&#8221; alt=&#8221;cloud-public&#8221; title_text=&#8221;Consumo-de-memoria-en-Hana&#8221; admin_label=&#8221;Imagen principal&#8221; module_class=&#8221;post-img&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Cuerpo&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Texto&#8221; _builder_version=&#8221;4.25.2&#8243; header_2_font_size=&#8221;24px&#8221; header_3_font_size=&#8221;20px&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>Control por sesi\u00f3n y control global<\/h2>\n<p>El presente documento detalla c\u00f3mo prevenir que consultas descontroladas consuman excesiva memoria en el sistema SAP HANA.<\/p>\n<p>Por defecto, no existe ninguna limitaci\u00f3n en cuanto a consumo de memoria por consulta. En el caso de configurar una limitaci\u00f3n, las consultas que requieran un consumo superior al especificado ser\u00e1n autom\u00e1ticamente canceladas cuando se alcance dicho l\u00edmite.<\/p>\n<p>No obstante, esta limitaci\u00f3n podr\u00eda provocar que algunas consultas se cancelen innecesariamente; por ejemplo, cuando el total de memoria consumida en el sistema sea muy bajo pero una consulta particular supere el l\u00edmite establecido. Para evitarlo, es posible parametrizar un l\u00edmite en forma de porcentaje, de forma que cada consulta se trate como una proporci\u00f3n de la memoria total disponible. Mediante este par\u00e1metro en forma de porcentaje, las consultas que superen en valor bruto el l\u00edmite de memoria establecido podr\u00edan ejecutarse, siempre y cuando el porcentaje de memoria destinado a cada consulta est\u00e9 dentro de los l\u00edmites fijados.<\/p>\n<p>Adem\u00e1s, es posible crear excepciones por usuario para estas limitaciones. Esto podr\u00eda ser interesante, por ejemplo, para asegurar que los administradores de sistemas puedan hacer backups.<\/p>\n<p>Las limitaciones mencionadas hacen referencia a consultas SQL, no al conjunto del sistema. Es decir, el sistema tambi\u00e9n necesita disponer de memoria para realizar determinadas tareas (ordenar, actualizar etc.). Por ello, tambi\u00e9n existen par\u00e1metros para limitar la m\u00e1xima memoria disponible para todo el conjunto del sistema (<em>global_allocation_limit:\u00a0<\/em>para determinar el l\u00edmite de memoria que puede ser utilizada por la base de datos).<\/p>\n<h2>Procedimiento<\/h2>\n<p>Como prerrequisitos, cabe se\u00f1alar que para aplicar las configuraciones que se detallar\u00e1n a continuaci\u00f3n es necesario contar con el permiso\u00a0<strong>INIFILE ADMIN<\/strong>.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2342 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/07\/imagen0002-.png\" alt=\"\" width=\"461\" height=\"306\" \/><\/figure>\n<\/div>\n<p>Adem\u00e1s,\u00a0<strong><em>enable_tracking<\/em><\/strong>\u00a0y\u00a0<strong><em>memory_tracking<\/em><\/strong>\u00a0deben activarse primero en el archivo\u00a0<strong>global.ini<\/strong>. Por otro lado,\u00a0<strong><em>resource_tracking<\/em><\/strong>\u00a0debe estar activado en este archivo si desea aplicar diferentes opciones para usuarios individuales.<\/p>\n<p>Primero, se debe habilitar\u00a0<strong>seguimiento de memoria de instrucciones.\u00a0<\/strong>En el archivo\u00a0<strong>global.ini<\/strong>, se ampl\u00eda la secci\u00f3n\u00a0<strong>resource_tracking<\/strong>\u00a0y se establecen los siguientes par\u00e1metros en on:<\/p>\n<ul>\n<li>Enable_tracking = on<\/li>\n<li>Memory_tracking = on<\/li>\n<\/ul>\n<p>Despu\u00e9s, se comprueba el par\u00e1metro\u00a0<em>global_allocation_limit,<\/em>\u00a0que es l\u00edmite de memoria que puede ser utilizada por la base de datos.\u00a0 Este par\u00e1metro permite controlar el comportamiento del total de la memoria destinada a la base de datos HANA. No ser\u00e1 necesario determinar el valor de este par\u00e1metro, a menos que se disponga de alg\u00fan software adicional instalado en el mismo servidor de HANA. Por ello, lo m\u00e1s com\u00fan es que dicho par\u00e1metro coja el valor 0 por defecto.<\/p>\n<p>Tal y como se ha mencionado previamente, el sistema operativo reserva parte de la memoria por motivos de performance. As\u00ed, por defecto, la base de datos HANA reservar\u00e1 aproximadamente el 90% de la memoria f\u00edsica disponible.<\/p>\n<p>Si el par\u00e1metro\u00a0<em>global_allocation_limit\u00a0<\/em>est\u00e1 parametrizado como 0, la memoria destinada para la base de datos se obtendr\u00e1 de la siguiente forma: 90% de los primeros 64GB de la memoria f\u00edsica disponible m\u00e1s el 97% de cada GB adicional hasta la memoria f\u00edsica disponible.<\/p>\n<p>Por ejemplo:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2346 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/07\/imagen0004.png\" alt=\"\" width=\"511\" height=\"165\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/07\/imagen0004.png 511w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/07\/imagen0004-480x155.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 511px, 100vw\" \/><\/figure>\n<\/div>\n<p><strong>64GB * 0.9 + (629,91GB \u2013 64GB) * 0,97 = 606GB<\/strong><\/p>\n<p>Despu\u00e9s, se parametriza el\u00a0<em>statement_memory_limit,\u00a0<\/em>que es precisamente l\u00edmite de memoria por consulta. SAP sugiere la utilizaci\u00f3n de la siguiente f\u00f3rmula para considerar el rango de l\u00edmite por consulta:<\/p>\n<figure class=\"wp-block-table is-style-stripes has-small-font-size\">\n<table>\n<tbody>\n<tr>\n<td>Use below formula to calculate a recommended range for statement_memory_limit.<br \/>MIN(10 % of allocation limit, 30 GB) \u2013 MIN(30 % of allocation limit,\u00a0\u00a0 500 GB)<br \/>For example, if allocation limit is 1TB.<br \/>MIN(10%*1024, 30) = 30GB.\u00a0<img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/25b6.svg\" alt=\"\u25b6\" \/>\u00a0<strong>0,1*1024 &gt;&gt;&gt; 30 GB. Por lo tanto, el MIN = 30 GB<\/strong><br \/>MIN(30%*1024,500) =307GB.\u00a0<img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/25b6.svg\" alt=\"\u25b6\" \/>\u00a0<strong>0,3*1024 &lt;&lt;&lt; 500 GB. Por lo tanto, el MIN = 307GB<\/strong><br \/>Then you can consider a value between 30GB and 307GB.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>Volviendo al ejemplo arriba detallado, se observa que el\u00a0<em>allocation limit<\/em>\u00a0es de\u00a0<strong>606GB.<\/strong><\/p>\n<p>Por lo tanto;<\/p>\n<p>MIN (606*0,1 , 30)\u00a0<img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/25b6.svg\" alt=\"\u25b6\" \/>\u00a030GB<\/p>\n<p>MIN (606*0,3\u00a0 , 500)\u00a0<img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/25b6.svg\" alt=\"\u25b6\" \/>\u00a0181,8GB<\/p>\n<p>Por lo tanto, se deber\u00eda considerar un\u00a0<em>statement_memory_limit\u00a0<\/em>entre 30GB y 181,8GB.<\/p>\n<p>Tras establecer este par\u00e1metro, las sentencias que excedan el l\u00edmite establecido se detienen al quedarse sin memoria.<\/p>\n<p>Por \u00faltimo, existe la opci\u00f3n de parametrizar el\u00a0<em>statement_memory_limit_threshold<\/em>: l\u00edmite de memoria por consulta en %. SAP recomienda fijar este l\u00edmite al 60% del\u00a0<em>allocation limit<\/em>. Siguiendo el ejemplo, el\u00a0<em>statement_memory_limit_threshold\u00a0<\/em>se fijar\u00eda en\u00a0<strong>606GB * 0,6 = 363,6GB.<\/strong><\/p>\n<p>Resumen del ejemplo seguido:<\/p>\n<figure class=\"wp-block-table is-style-regular\">\n<table>\n<tbody>\n<tr>\n<td><strong>Parameter<\/strong><\/td>\n<td><strong>Value<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Physical memory<\/td>\n<td>630GB<\/td>\n<\/tr>\n<tr>\n<td>Global_allocation_limit<\/td>\n<td>606GB (Parameter set to 0)<br \/>0 \u2013 Indicates that, default values will apply<\/td>\n<\/tr>\n<tr>\n<td>Statement_memory_limit<\/td>\n<td>30GB &lt; 100 GB &lt; 181,8GB<\/td>\n<\/tr>\n<tr>\n<td>Statement_memory_limit_threshold<\/td>\n<td>363,6GB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>Tambi\u00e9n es posible limitar el consumo de memoria de usuarios en particular. Ser\u00e1 necesario contar con el permiso\u00a0<strong>USER ADMIN<\/strong>\u00a0para modificar los par\u00e1metros relativos a usuario. Esta parametrizaci\u00f3n excluye al usuario de las limitaciones globales.<\/p>\n<p>La parametrizaci\u00f3n por usuario se puede realizar desde HANA Studio:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2350 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/07\/imagen0007.png\" alt=\"\" width=\"331\" height=\"143\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/07\/imagen0007.png 331w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/07\/imagen0007-300x130.png 300w\" sizes=\"auto, (max-width: 331px) 100vw, 331px\" \/><\/figure>\n<\/div>\n<p>Tambi\u00e9n es posible realizarlo por comandos:<\/p>\n<p><strong>ALTER USER &lt;db_user_name&gt; SET PARAMETER STATEMENT MEMORY LIMIT = \u2018&lt;maximum_memory_allocation_in_gb&gt;\u2019<\/strong><\/p>\n<p>Para resetear esta \u00faltima especificaci\u00f3n:<\/p>\n<p><strong>ALTER USER &lt;db_user_name&gt; CLEAR PARAMETER STATEMENT MEMORY LIMIT<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Esperamos que este art\u00edculo te haya sido \u00fatil, si tienes alguna pregunta no dudes en ponerte en\u00a0contacto\u00a0con nuestro equipo de Analytics.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;M\u00e1s informaci\u00f3n&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p class=\"morado\">M\u00e1s informaci\u00f3n:<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/orekait.com\/es\/area-analitica-negocio&#8221; button_text=&#8221;M\u00e1s informaci\u00f3n&#8221; module_class=&#8221;entrada-btn&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#8156EA&#8221; button_bg_color=&#8221;RGBA(255,255,255,0)&#8221; button_border_color=&#8221;#8156EA&#8221; button_border_radius=&#8221;30px&#8221; button_font=&#8221;Plus Jakarta Sans|600|||||||&#8221; button_icon=&#8221;&#x24;||divi||400&#8243; button_icon_color=&#8221;#8156EA&#8221; button_on_hover=&#8221;off&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; button_text_color__hover_enabled=&#8221;on|desktop&#8221; button_text_color__hover=&#8221;#8156EA&#8221; button_bg_color__hover_enabled=&#8221;on|hover&#8221; button_bg_color__hover=&#8221;#8156EA&#8221; button_bg_enable_color__hover=&#8221;on&#8221; button_icon_color__hover_enabled=&#8221;on|hover&#8221; button_icon_color__hover=&#8221;#ffffff&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_button][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;Noticias relacionadas titulo&#8221; module_id=&#8221;fondo-articulos&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f7f7f7&#8243; width=&#8221;100%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;RGBA(255,255,255,0)&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_heading title=&#8221;Quizas te pueda interesar&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; title_level=&#8221;h2&#8243; title_text_align=&#8221;center&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_heading][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||30px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Noticias relacionadas&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; custom_margin=&#8221;-150px||||false|false&#8221; custom_margin_tablet=&#8221;0px||||false|false&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blog fullwidth=&#8221;off&#8221; posts_number=&#8221;3&#8243; include_categories=&#8221;current&#8221; show_author=&#8221;off&#8221; show_date=&#8221;off&#8221; show_pagination=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blog][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Control por sesi\u00f3n y control global El presente documento detalla c\u00f3mo prevenir que consultas descontroladas consuman excesiva memoria en el sistema SAP HANA. Por defecto, no existe ninguna limitaci\u00f3n en cuanto a consumo de memoria por consulta. En el caso de configurar una limitaci\u00f3n, las consultas que requieran un consumo superior al especificado ser\u00e1n autom\u00e1ticamente [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":2336,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"Lorem ipsum dolor sit amet consectetur adipiscing elit congue montes, imperdiet taciti erat elementum fermentum sem ante ultrices ridiculus, sagittis sociis egestas quisque ac semper quis odio. Aenean hendrerit ac metus dis nascetur aliquet mollis integer, rutrum vel laoreet posuere proin sagittis luctus est, tempus duis nisl ultrices parturient tempor praesent. Dignissim curabitur nascetur pellentesque augue fringilla pulvinar eros, tempus fames vehicula maecenas cubilia id, rutrum euismod integer ut scelerisque mus.\r\n\r\nVivamus auctor odio aenean rhoncus natoque dictum purus, volutpat pellentesque laoreet ridiculus consequat nisi varius euismod, augue platea convallis curae magnis taciti. Imperdiet nibh curabitur quisque orci consequat aenean pellentesque, cubilia duis senectus felis sed posuere tortor, magnis enim diam a odio sociis. Enim tellus nisl nec molestie augue luctus tempor habitant, nunc dictumst phasellus volutpat sem facilisis taciti, habitasse laoreet at turpis vel fermentum vulputate.","_et_gb_content_width":"","footnotes":""},"categories":[63,43],"tags":[],"class_list":["post-2334","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sap-hana","category-analytics"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/2334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/comments?post=2334"}],"version-history":[{"count":7,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/2334\/revisions"}],"predecessor-version":[{"id":20766,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/2334\/revisions\/20766"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media\/2336"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=2334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=2334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=2334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}