Lob area's

Posted by bkozak on 07-Dec-2017 13:59

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

Posted by ChUIMonster on 07-Dec-2017 14:32

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.

Posted by George Potemkin on 07-Dec-2017 14:33

> 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.

All Replies

Posted by James Palmer on 07-Dec-2017 14:18

You should always define a separate area for lobs. 1 rpb is in theory best but if someone accidentally puts a table or an index in that area you will get very rapid growth. So in practise it's a bad idea.
But then so are lobs in a lot of circumstances.

Sent from Nine

Posted by ChUIMonster on 07-Dec-2017 14:32

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.

Posted by George Potemkin on 07-Dec-2017 14:33

> 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.

Posted by bkozak on 07-Dec-2017 15:19

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...

This thread is closed