Consultor Eletrônico



Kbase 17262: Considerations about choosing the database block size
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
Considerations about choosing the database block size

Synopsis:

Prior to PROGRESS version 8.2A, each PROGRESS platform had a fixed
database block size. Starting with PROGRESS 8.2A the block size of
your database can be chosen at creation time to be 1, 2, 4 or 8KB.

This PROGRESS technical support knowledgebase entry discusses the
pro's and con's of large database blocksizes, specially 8KB.


Advantages
==========

* Better overall performance - best when the block size is equal to or
a multiple of the filesystem's block size. Performance will not
necessarily be better for all functions, but it won't be worse.
PROGRESS have extensively tested multi-user mode configurations and
know that better performance is likely. Single-user mode may be no
better.

* Better index compression - each index block will hold more so the
compression algorithm has more to try to compress. This in turn
reduces the amount of i/o required to access records through the
index. If this improved compression were to eliminate an index level
in a large index, you would gain a significant further i/o reduction.

* Larger maximum database size. About 256 GB with 4k or 8k blocks.

* Fewer fragmented records.


Disadvantages
=============
By choosing a larger block size, you gain the following disadvantages:

* Your database may use slightly more disk space if the average record
length is small enough that you reach the maximum number of records
per block (64 for a 8KB block, 32 otherwise) before the space in the
block is fully utilized.

* You have to reduce the value of -B (the number of buffers in the
in-memory database buffer pool) to compensate for the increased block
size. To keep the amount of memory used the same, if you double the
block size, halve -B.

* To convert an existing database to a different block size, a dump
and load is required.


To find out what is your operating system file system block size,
contact your operating system vendor. Most recent UNIX systems
use a 4 or 8KB block size. Some older implementation uses 1 or 2KB
block sizes.


To find out the current block size of your PROGRESS databases, use
prostrct statistics or promon option 7. Database Status.


References to Written documentation:

PROGRESS System Administration Guide and Reference
Your operating system documentation on performance and file systems


MAP (09/17/97)

Progress Software Technical Support Note # 17262