Kbase P6873: What database blocksize should be chosen at creation time 1, 2, 4 or 8KB?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  14/10/2008 |
|
Status: Verified
GOAL:
What database blocksize should be chosen at creation time 1, 2, 4 or 8KB?
GOAL:
Considerations about choosing the database block size.
FACT(s) (Environment):
All Supported Operating Systems
Progress 8.2x
Progress 8.3x
Progress 9.x
FIX:
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.