Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Data Dictionary

Former Member
0 Kudos

Hi Experts,

wat is buffering in DDIC

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Surender,

Table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed

directly from the buffer of the application server. This avoids the time-consuming process of accessing the database.

Buffering is useful if table needs to be accessed more no. of times in a program.

Regards,

Suresh.S

9 REPLIES 9

Former Member
0 Kudos

Former Member
0 Kudos

hi check this..

when you use this it can able to store the data in some other memory area

http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f0f0446011d189700000e8322d00/frameset.htm

former_member705122
Active Contributor
0 Kudos

Hi,

Buffering type defines which table records are loaded into the buffer when a table record is accessed.

for more info check this link:

https://help.sap.com/saphelp_nw04/helpdata/en/f1/f5c2deca023d4bb7dfeaf5eda45307/content.htm

Regards

Adil

Former Member
0 Kudos

Buffering a Table

Data is buffered in RAM on the application server. This is controlled on a per-table basis, and is specified in the technical settings for each table .

Whenever an Open SQL statement is used to read a record, the data buffer is checked first to see whether it is there. If not, the data is read from the database. If the table's attributes indicate that the data should be buffered, the record is saved in RAM on the application server in data buffers. Later, if that record is read again, it is read from the buffer instead of the database.

By buffering data, you increase performance in two important ways:

  • The programs using the buffered data run faster because they don't have to wait for it to come from the database. This reduces delays waiting for the database and the network that connects it.

  • The other programs that need to access the database run faster because there is less load on the database and less traffic on the network.

Buffering a table can cause a select to run 10 to 100 times faster or more. At first thought, it might seem like a good idea to buffer every table in the system. However, buffers are stored entirely in RAM, so space is limited by the amount of RAM available. In fact, there is so much more data than there is RAM that tables must be buffered judiciously to prevent overruns. If a buffer overruns, it might swap to disk, which can obliterate any performance gained by buffering.

Tables containing a numeric data type in the primary key cannot be buffered. The DDIC numeric data types are CURR, DEC, FLTP, INT1, INT2, INT4, PREC, and QUAN.

The Basis consultant is responsible for monitoring the buffers and preventing buffer shortages from slowing the system down. Before buffering a table, it is a good idea to talk to your Basis consultant.

Buffer Synchronization

If you have two application servers, the same record can be buffered on each server. This would not be a problem if it were not for the fact that data can be updated. If a buffered record is updated, the changes must be communicated to the other application server. This is done in a process known as buffer synchronization, which occurs at 1- to 4-minute intervals depending on your system configuration.

Edited by: RAJESH KUMAR on Jul 31, 2008 3:38 PM

Edited by: RAJESH KUMAR on Jul 31, 2008 3:38 PM

Former Member
0 Kudos

Hi Surender,

Table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed

directly from the buffer of the application server. This avoids the time-consuming process of accessing the database.

Buffering is useful if table needs to be accessed more no. of times in a program.

Regards,

Suresh.S

0 Kudos

Hi!

Search before asking any question. You can search it on SDN itself. You'll get several answers

Former Member
0 Kudos

Hi Surendra.

I would like to suggest ,

Buffering Concept in Tables:

Buffering is required to enhance/improve the performance of database tables.

Location of Buffers: Application server.

How the Buffers works?

Buffer tables are created on buffers and the data is stored in these tables.

When required this data is accessed directly without direct contact with the Database.

Hence, Time is saved and lesser load on the database.

Main Use:

When there is transfer of large records/ accessing of large records between different clients, the time consuming process is minimized by buffers as well as loads minimized for efficient and secure transfer.

Now, to decide the kind of buffering required for each application, we have the types of buffering as per the requirements.

Buffering is classified into 3 categories:

1. Full buffering:

This is considered when there is a condition when comparatively less records are to be fetched.

This helps in fast transfer as the complete records are buffered/loaded into the buffer tables.

Large amount of records can prove in-effective in this type.

2. Generic Buffering:

This is considered when there is a condition when a specific requirement based on generic key fields is processed.

Which means uniquely identified by its keyfields. This data is loaded into the buffer an then accessed.

This is a much effective kind.

3. Single-Record Buffering:

This is considered only when the exact or the records that are really required to be accessed are loaded into the buffer.

This kind requires very less storage space in comparison to the prior.

But, as it is used for large or more data records. Hence, Administrative costs are high and more time is required.

IN BUFFERING SYNCHRONIZATION PLAYS AN IMPORTANT ROLE.

Hope that's usefull.

Good Luck & Regards.

Harsh Dave

former_member181995
Active Contributor
0 Kudos

Sunrendra,

i would suggest you to take SAP help by just pressing F1 in tecnical setting>Buffering or buffering type of any DB:

you will find there is option Buffering and buffering type just press F1 any of option you will get your answer.

Amit.