Hi
<b>Buffering de tablas</b>
Ventajas del buffering
Concepto de buffering
Tipos de buffering
Sincronización de buffers
<b>Acceso a base de datos utilizando el concepto de Buffer</b>
El buffering te permite acceder a los datos más rápidamente al permitirte
acceder desde el servidor de aplicaciones en lugar de la base de datos.
<b>Ventajas del buffering</b>
El buffering de tablas aumenta el rendimiento cuando se leen los registros de la tabla.
Al leer los registros de una tabla bufferizada directamente desde el buffer local del servidor de aplicaciones en el que se está ejecutando la transacción de acceso, el tiempo requerido para acceder a los datos se reduce considerablemente. El acceso mejora en un factor de 10 a 100 dependiendo de la estructura de la tabla y de la configuración exacta del sistema.
Si los requisitos de almacenamiento en el buffer aumentan debido a más datos, los datos que no han sido accedidos durante más tiempo son desplazados. Este desplazamiento se realiza de forma asíncrona en ciertos momentos que se definen dinámicamente en función de los accesos al buffer. Los datos solo se desplazan si el espacio libre en el buffer es menor que un valor predefinido o la calidad del acceso no es satisfactoria en ese momento.
Ingresar $TAB en el campo de comando restablece los buffers de la tabla en el servidor de aplicaciones correspondiente. Solo utiliza este comando si hay inconsistencias en el buffer. En sistemas grandes, puede llevar varias horas llenar los buffers. El rendimiento se reduce considerablemente durante este tiempo.
<b>Concepto de buffering</b>
El Sistema R/3 gestiona y sincroniza los buffers en los servidores de aplicaciones individuales. Si un programa de aplicación accede a los datos de una tabla, la interfaz de base de datos determina si estos datos se encuentran en el buffer del servidor de aplicaciones. Si es así, los datos se leen directamente desde el buffer. Si los datos no están en el buffer del servidor de aplicaciones, se leen desde la base de datos y se cargan en el buffer. Por lo tanto, el buffer puede satisfacer el próximo acceso a estos datos.
El tipo de buffering determina qué registros de la tabla se cargan en el buffer del servidor de aplicaciones cuando se accede a un registro de la tabla. Hay tres tipos de buffering diferentes.
Con el buffering completo, todos los registros de la tabla se cargan en el buffer cuando se accede a un registro de la tabla.
Con el buffering genérico, todos los registros cuya parte izquierda delimitada de la clave es la misma se cargan en el buffer cuando se accede a un registro de la tabla.
Con el buffering de un solo registro, solo se carga en el buffer el registro que se ha accedido.
<b>Tipos de buffering</b>
Con el buffering completo, la tabla está completamente o no está en el buffer. Cuando se accede a un registro de la tabla, todos los registros de la tabla se cargan en el buffer.
Al decidir si una tabla debe ser completamente bufferizada, se deben tener en cuenta el tamaño de la tabla, el número de accesos de lectura y el número de accesos de escritura. Cuanto más pequeña sea la tabla, más frecuentemente se lea y menos frecuentemente se escriba, mejor será bufferizar completamente la tabla.
También es aconsejable el buffering completo para tablas con accesos frecuentes a registros que no existen. Dado que todos los registros de la tabla residen en el buffer, ya está claro en el buffer si un registro existe o no.
Los registros de datos se almacenan en el buffer ordenados por clave de tabla. Cuando accedes a los datos con SELECT, solo se pueden utilizar campos hasta el último campo de clave especificado para el acceso. Por lo tanto, la parte izquierda de la clave debe ser lo más grande posible para tales accesos. Por ejemplo, si el primer campo de clave no está definido, toda la tabla se escanea en el buffer. En estas circunstancias, un acceso directo a la base de datos podría ser más eficiente si hay un índice secundario adecuado allí.
Con el buffering genérico, se cargan en el buffer todos los registros cuyos campos genéricos de clave coinciden con este registro cuando se accede a un registro de la tabla. La clave genérica es una parte izquierda de la clave principal de la tabla que debe definirse al seleccionar el tipo de buffering. La clave genérica debe seleccionarse de manera que las áreas genéricas no sean demasiado pequeñas, lo que resultaría en demasiadas áreas genéricas. Si solo hay unos pocos registros para cada área genérica, generalmente es preferible el buffering completo para la tabla. Si eliges una clave genérica demasiado grande, se invalidarán demasiados datos si hay cambios en las entradas de la tabla, lo que tendría un efecto negativo en el rendimiento.
Una tabla debe ser bufferizada genéricamente si solo se necesitan ciertas áreas genéricas de la tabla para el procesamiento.
Las tablas completamente bufferizadas dependientes del cliente se bufferizan automáticamente