Lob area's - Forum - OpenEdge RDBMS - Progress Community
 Forum

Lob area's

This question is answered

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

Verified Answer
  • 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.

    --
    Tom Bascom
    tom@wss.com

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

    --
    Tom Bascom
    tom@wss.com

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