Currently, Jaybird defaults to using segmented blobs, and I'm thinking
about changing this to default to stream blobs. Are there any obvious
pros or cons to using stream blobs?
The pros I know so far:
- Seeking
- Storage is slightly more compact (no segments)
Downsides:
- ?
However, something that makes me a bit jittery is that in the recent
past there have been issues involving stream blobs, which seems to
suggest that stream blobs are not 'first-class citizens':
- Replication dropping stream blobs (or converting them to segmented?)
(see thread "[Firebird-devel] Replication of stream BLOBs" from 30 April
2021)
- New OO API (at least in Firebird 3), not providing an explicit way to
create stream blobs (see "[Firebird-devel] IBlob::putSegment" from 27
May 2021)
Also, back in 2010, Ann replied to a question about isc_seek_blob with
"That's specific to stream blobs, a concept that's still in the code but
hasn't been used in many years."
In short, what is the actual status of stream blobs, and would it be a
good idea to use them or not?
Mark
--
Mark Rotteveel
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel