Are Packed and Dedicated blob payloads copied during compaction? #8346
Unanswered
shikhar-goenka-hg
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The blob guide says large payloads live in separate
.blobfiles "that are referenced rather than re-copied, so these operations don't rewrite the heavy bytes", naming compaction as one of those operations. The Blob v2 blog post says Dedicated blobs are "isolated from the table-level rewrite/compaction path".Measuring on pylance 9.0.0 and 11.0.0b1, both Packed and Dedicated payloads look like they are copied. Starting from two fragments holding 1 MB (Packed) and 8 MB (Dedicated) values,
compact_fileswrites fresh.blobfiles under the compacted data file and reassignsblob_id, and total sidecar bytes double (18,874,368 to 37,748,736, before old versions are cleaned up). Only External descriptors carry through unchanged, with the referenced file untouched.Two questions:
Asking because we store large imaging payloads in blob columns, and we would like to know whether to plan around the copy or expect it to change. Happy to share the measurement script if that helps.
All reactions