vaultik/internal/blob
sneak 05286bed01 Batch transactions per blob for improved performance
Previously, each chunk and blob_chunk was inserted in a separate
transaction, leading to ~560k+ transactions for large backups.
This change batches all database operations per blob:

- Chunks are queued in packer.pendingChunks during file processing
- When blob finalizes, one transaction inserts all chunks, blob_chunks,
  and updates the blob record
- Scanner tracks pending chunk hashes to know which files can be flushed
- Files are flushed when all their chunks are committed to DB
- Database is consistent after each blob finalize

This reduces transaction count from O(chunks) to O(blobs), which for a
614k file / 44GB backup means ~50-100 transactions instead of ~560k.
2025-12-23 19:07:26 +07:00
..
errors.go Refactor blob storage to use UUID primary keys and implement streaming chunking 2025-07-22 07:43:39 +02:00
packer_test.go Integrate afero filesystem abstraction library 2025-07-26 15:33:18 +02:00
packer.go Batch transactions per blob for improved performance 2025-12-23 19:07:26 +07:00