Subject RE: [firebird-support] BLOB
Author Leyne, Sean

> LSSBcfs> Our application uses BLOB fairly extensively and can report
> LSSBcfs> that the GBAK disk write rate increases very significantly when
> LSSBcfs> tables with Blobs are being backed-up, orders of magnitude
> LSSBcfs> faster than tables with small rows (YMMV), so this suggests
> LSSBcfs> that SEGMENT SIZE does not have any effect on GBAK.
> Interesting, usually my experience is just the opposite: gbak usually slows
> down in tables with blobs.

It is all in what you are measuring to define "slows down".

Does the rows/second rate reduce? Yes

Does the disk MB/second rate significantly increase? Yes

The problem can be attributed to the disk throughput limitations.

Blobs are large objects, so when they are being backed-up the speed is limited is the IO performance of the disk subsystem -- which would cause the rows/second rate to drop. Remember blobs larger than available free space on data pages are written to separate blob pages, which requires extra disk reads.

A 1MB blob in database with 8KB page size requires 128 reads (random IO operations) in order to load the entire blob, most 7200RPM HDD devices have 4KB random Read IO performance of only 150-175 IO/second.