RustFS: S3 alternative for small objects
StorageComments
Suppose the memory fragmentation is managed by a background compaction process. Would that negate the performance gains for 4KB objects during high-write bursts?
This mirrors the trade-offs seen in Log-Structured Merge trees. You get high write throughput initially, but the write amplification during compaction can create latency spikes that might dwarf the initial gains.
What about the latency for metadata operations... does the 2.3x gain hold up if you're doing a lot of LIST requests instead of just PUT/GET... that could be a huge bottleneck!
The README mentions a custom slab allocator for these small objects. That likely explains the gain, but it usually comes with a memory fragmentation trade-off that isn't listed in the summary.
OP missed the consistency model. If this is optimizing for small object speed, I want to know if they sacrificed strong consistency for eventual consistency to get those numbers.
Why are we still trying to mimic the S3 API? If we're rewriting the storage layer in Rust for performance, why not just scrap the legacy interface entirely?