Impact of using BLOB field

Posted by Richard.Kelters on 20-Jul-2015 03:35

I'm wondering what the impact is of using a blob field in database table?

We have a 'customer' record with a blob field with a picture of the customer. As camera's get better in time we see the picture growing from ten's of kilo bytes to serveral mega bytes. Our application reads the customer record quite often but the picture is rarely needed, only in 2 places in our application.

Does an io record read that has a blob need to do an additional io read for the picture?

Does the blob field reside in the database memory (-B)?

Would it be advisable to put the blob field in a seperate table in our case?

All Replies

Posted by James Palmer on 20-Jul-2015 03:45

LOBs have the ability to reside in a different storage area to the main record. It is good practise to have a separate storage area just for LOBs. That way you can set the RPB really low which isn't likely to be necessary for the rest of the record.

As far as I know the LOB is only read when it is specifically needed by the code, but I don't have anything other than experience to base that on. One of the other chaps will likely come back with a definitive answer.

We're running Windows and have made use of the compression functionality in the .net framework to compress all our blobs and it has saved us around 40% disk space (although most of our LOBs are documents rather than images so would expect the compression to be better).

Be aware though, that if you do go down the compression route, that when you extract and compress the current records you will find your AI files go mental. Make sure you've got the disk space for it. We didn't. Oops.

Posted by Richard.Kelters on 20-Jul-2015 04:12

We're not going the compression route as diskspace is not an issue and will not help us with jpg's. We are looking into resampling large images to smaller ones. Thanks James.

Posted by Dapeng Wu on 20-Jul-2015 08:11

James,
You’re right that LOBs will not be read unless they are told so by the application code.
Dapeng
 
[collapse]
From: James Palmer [mailto:bounce-jdpjamesp@community.progress.com]
Sent: Monday, July 20, 2015 4:46 AM
To: TU.OE.RDBMS@community.progress.com
Subject: RE: [Technical Users - OE RDBMS] Impact of using BLOB field
 
Reply by James Palmer

LOBs have the ability to reside in a different storage area to the main record. It is good practise to have a separate storage area just for LOBs. That way you can set the RPB really low which isn't likely to be necessary for the rest of the record.

As far as I know the LOB is only read when it is specifically needed by the code, but I don't have anything other than experience to base that on. One of the other chaps will likely come back with a definitive answer.

We're running Windows and have made use of the compression functionality in the .net framework to compress all our blobs and it has saved us around 40% disk space (although most of our LOBs are documents rather than images so would expect the compression to be better).

Be aware though, that if you do go down the compression route, that when you extract and compress the current records you will find your AI files go mental. Make sure you've got the disk space for it. We didn't. Oops.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by James Palmer on 20-Jul-2015 08:38

Thanks for confirming [mention:dead45b7688a4aa5b32bb3875104bd92:e9ed411860ed4f2ba0265705b8793d05]

This thread is closed