随着数据量的爆炸式增长,云对象存储(如 AWS S3)的成本已成为企业沉重的负担。S4 (Squished S3) 是一款基于 Rust 开发的高性能、GPU 加速的 S3 兼容存储网关。它位于应用程序与真实 S3 存储桶之间,通过透明压缩技术,在不修改任何应用代码的前提下,将可压缩数据的存储体积减少 50-80%,从而显著降低云存储账单。
核心亮点:透明、智能、极速
1. 极致降本,零代码侵入
- 直接替代端点:只需更改应用程序中的 S3 端点 URL 指向 S4,即可无缝接入。无需重构代码或改变数据写入逻辑。
- 按压缩后体积计费:S4 在写入时进行压缩,云端仅对压缩后的字节收费。对于日志、数据库备份等可压缩数据,节省效果立竿见影。
2. GPU 加速与智能编解码路由
S4 并非盲目使用 GPU,而是根据数据类型智能选择最优编解码器:
- GPU 加速 (nvCOMP):针对 Parquet 类混合数据、整数列数据等结构化/半结构化数据,利用 NVIDIA nvCOMP 库实现高吞吐压缩,性能远超 CPU。
- CPU 优化 (zstd/gzip):针对 Nginx 访问日志、文本文件等,自动切换至高效的 CPU 算法(如 zstd),避免 GPU 资源浪费。
- 智能透传:检测到输入已是压缩格式(如 .zip, .gz)时,直接透传,避免重复压缩带来的 CPU/GPU 开销。
3. 完整 S3 语义支持
- 字节范围读取 (Range GET):通过侧车帧索引 (Sidecar Frame Indexing) 技术,S4 支持对压缩对象进行高效的随机访问和范围读取,完美兼容大数据分析引擎(如 Spark, Presto)的需求。
- 高吞吐性能:在 RTX 4070 Ti SUPER + Ryzen 9 9950X 测试环境下,GPU 路径吞吐量可达 1.5-1.6 GB/s,CPU 路径高达 3.7 GB/s。
性能基准测试
| 工作负载类型 | 最佳压缩率 | 最佳吞吐量 | 推荐引擎 |
|---|
| Nginx 访问日志 | 155× | 3.7 GB/s | CPU (zstd) |
| Parquet 混合数据 | 2.09× | 1.5 GB/s | GPU (nvCOMP) |
| 整数列数据 | 11.9× | 1.6 GB/s | GPU (nvCOMP) |
| 已压缩数据 | 1.00× (透传) | 2.2 GB/s | Passthrough |
(注:总账单节省取决于工作负载组合,请求费、出站流量及 GPU 实例成本需单独计算)
适用场景
- 大数据湖仓:存储海量 Parquet/ORC 文件,利用 GPU 加速压缩,降低存储成本并保持分析查询效率。
- 日志归档:长期保存服务器、应用及安全日志,享受极高的文本压缩比。
- 数据库备份:压缩 SQL dump 或二进制备份文件,减少云端存储占用。
- 合规性数据留存:以最低成本满足长期数据保留法规要求。