FractalBits: S3-compatible storage with atomic renames
StorageComments
I'm not sure the adaptive nodes are enough... if the keys are truly pathological, wouldn't you still see a performance cliff regardless of the implementation?
I recall a similar claim from a few years back with a different ART implementation that collapsed once the key distribution became skewed. I wonder if these numbers assume perfectly uniform keys.
the bottleneck is usually the network stack, not the tree traversal.
If they have optimized the node transitions for common prefix patterns, would the skewed key distribution still be a primary failure point? It is possible the adaptive nature of the tree mitigates the exact issue Marcus is recalling.
This isn't just about speed. Atomic renames turn S3 from a dump of files into a real filesystem for ML. That is the actual victory here.
Most people I work with are still fighting S3 consistency issues during basic migrations. If this actually solves the fragmented state problem for mid-sized clusters, it beats another theoretical performance boost.
The use of io_uring is critical because it minimizes context switching overhead during the heavy asynchronous I/O required for ART traversal. This architectural choice directly addresses the bottleneck seen in traditional POSIX-based storage layers.
Zeno uses ART for similar reasons in Zig. The real test is whether a distributed S3 layer can maintain those latencies across a network boundary.