Show TOC

Background documentationTable Buffer Locate this document in the navigation structure

 

The table buffer is located between the application and the database. Its goal is to cache portions of a database table in the application server to reduce database load and network communication. As you can see in the following figure, each server process of the AS Java contains its own table buffer instance, which is shared among all threads of the server. Changes made to buffered data within one server process should be propagated to all other nodes to avoid inconsistencies in the remote buffers. The buffer synchronization mechanism used in the AS Java guarantees that changes to buffered data are propagated to all remote buffers with a short delay.

This graphic is explained in the accompanying text.

The table buffer in a cluster of servers. Each cluster node has its own table buffer.

Activities

Using Java Dictionary, you can enable buffering for individual tables.

For more information, see Creating Tables.

Buffering is transparent to the application program. The first buffer access implicitly loads the data into the buffer so that a subsequent request can retrieve the data from the table buffer, rather than having to access the database. When a query is issued against a buffered table, the system checks if the query's WHERE clause restricts the result set to a generic buffer area with respect to the generic key defined in this table. If this is the case, the query is issued against the table buffer instead of the database. If the respective generic buffer area is not yet in the buffer, then it is loaded into the buffer before the query is processed.

You can view statistics about the use of the table buffer in the runtime tab of Monitoring Service in the SAP NetWeaver Administrator.

For more information about the monitored data, see Open SQL Monitors.