https://knowledgebase.progress.com/articles/Article/P88663?q=clob+lob&l=en_US&fs=Search&pn=1
says: "There is a strong argument in defining 1 rpb for Lob areas (Type I or Type II) "
Was wondering if any do this and if it's still recommended?
Assuming there might be a table with normal fields as well as a lob, is it recommended to put just the Lob field in an area with 1 rpb, and the rest of the table into a more generic area?
Is it just a consideration for Lob fields to maximize the addressable space or are there other considering factors?
TIA,
brad
I disagree with the notion that there is a strong argument for setting RPB to 1 for LOB areas.
(I will confess that I used to think this.)
That thinking comes from the observation that the LOB can be broken into many pieces the size of a block. So superficially a 1:1 ratio seems like a good idea.
But there is also going to be that last bit of the LOB. And that last little bit will probably be a random size (for most data, of course someone will have an example where all the data just happens to be a nice multiple of block size...) For that last bit of the LOB you would benefit from a larger RPB value.
Also -- LOB data is stored away from the rest of the record. It isn't mixed with the rest of the record. When you add a LOB field you are asked what storage area to put it in and only the LOB part of the record goes into that area.
> but if someone accidentally puts a table or an index in that area you will get very rapid growth.
RPB 1 is perfect for indeces.
Rapid growth of the areas is what DBA /should/ monititor. Then a table in area with RPB 1 should not be a problem.
In some cases LOBs may need RPB higher than 1. How large is the large objects? If their size is compatible with db blocksize or higher than RPB 1 is indeed recommended. But sometimes the size of the LOB fields is relatively small.
I disagree with the notion that there is a strong argument for setting RPB to 1 for LOB areas.
(I will confess that I used to think this.)
That thinking comes from the observation that the LOB can be broken into many pieces the size of a block. So superficially a 1:1 ratio seems like a good idea.
But there is also going to be that last bit of the LOB. And that last little bit will probably be a random size (for most data, of course someone will have an example where all the data just happens to be a nice multiple of block size...) For that last bit of the LOB you would benefit from a larger RPB value.
Also -- LOB data is stored away from the rest of the record. It isn't mixed with the rest of the record. When you add a LOB field you are asked what storage area to put it in and only the LOB part of the record goes into that area.
> but if someone accidentally puts a table or an index in that area you will get very rapid growth.
RPB 1 is perfect for indeces.
Rapid growth of the areas is what DBA /should/ monititor. Then a table in area with RPB 1 should not be a problem.
In some cases LOBs may need RPB higher than 1. How large is the large objects? If their size is compatible with db blocksize or higher than RPB 1 is indeed recommended. But sometimes the size of the LOB fields is relatively small.
Thank you all for the information so far -- much appreciated.
Here's the tabanalys for the Lob fields in question with a DB blocksize of 8K.
Table LOBs Size Min Max Mean
PUB.LOG:2
Data:5 3407748 1.7G 2.0B 2.6K 524.7B
PUB.blobs:5
File:7 8258 1.5G 173.0B 19.5M 194.3K
PUB.invoice-pdfs:4
invoice-pdf:6 282975 16.9G 102.0B 724.9K 62.7K
Judging from these it looks like they shouldn't be 1 rpb, except for the first field. Doubt it would be worth it to separate them though...