I built Foyer: a Rust hybrid cache that slashes S3 latency
4 days ago
- #S3
- #Rust
- #caching
- S3 is widely used in modern data systems for its unlimited capacity, durability, and low cost but suffers from high latency.
- RisingWave, a streaming database, faces significant latency challenges with S3 due to real-time processing requirements.
- Foyer is a hybrid caching library in Rust built by RisingWave to reduce S3 latency by combining memory and disk caching.
- Foyer's architecture includes a memory cache for low-latency access, a disk cache for larger capacity, and a coordinator to unify both layers.
- Foyer supports two modes: hybrid mode (memory and disk) and memory-only mode, with a consistent API for both.
- Hybrid caching with Foyer reduces S3 requests, lowers latency, and cuts costs while maintaining scalability and durability.
- RisingWave integrates Foyer deeply into its storage stack, using it to manage disk I/O, prefetching, and cache hydration.
- Foyer's design allows RisingWave to balance S3's cost benefits with the low-latency needs of stream processing.
- Hybrid caching is essential for real-time workloads using object stores like S3, making architectures viable for high-throughput applications.