跳到内容

RustFS:现代数据湖的存储解决方案

现代数据湖和湖仓一体架构依赖于对象存储。RustFS 为现代数据湖/湖仓一体提供了一个统一的存储解决方案,可以运行在任何地方:私有云、公有云、数据中心、裸金属和边缘。

Data Lake Architecture

支持开放表格式

Table Formats

现代数据湖是多引擎的。它们需要集中式的表存储、可移植的元数据、访问控制和持久化的结构。RustFS 支持所有主流的表格式,包括 Iceberg、Hudi 和 Delta Lake。

云原生

RustFS 遵循云原生原则:容器化、编排、微服务、API、基础设施即代码和自动化。云原生生态系统与 RustFS 无缝集成,包括 Spark、Presto/Trino、Snowflake、Dremio、NiFi、Kafka、Prometheus、OpenObserve、Istio、Linkerd、Hashicorp Vault 和 Keycloak。

多引擎支持

RustFS 支持所有 S3 兼容的查询引擎。

Multi-Engine Support

Multi-Engine Support

性能

现代数据湖需要高性能。RustFS 的基准测试表明,与传统的 Hadoop 系统相比,RustFS 具有卓越的性能,提高了查询引擎(Spark、Presto、Trino、Snowflake、SQL Server、Teradata)和 AI/ML 平台(MLflow、Kubeflow)的效率。

基准测试显示,使用 32 个 NVMe SSD 节点,GET 请求可达 325 GiB/s(349 GB/s),PUT 请求可达 165 GiB/s(177 GB/s)。

轻量级

RustFS 服务器二进制文件小于 100 MB。它足够健壮,可以用于数据中心,同时又足够轻量级,可以用于边缘。企业可以在任何地方使用相同的 S3 API 访问数据。RustFS 的边缘站点和复制功能允许在边缘捕获和过滤数据,然后再进行聚合。

分解

现代数据湖将计算和存储分开。高速查询处理引擎将存储外包给 RustFS 这样高吞吐量的对象存储。通过将部分数据保留在内存中,并利用谓词下推(S3 Select)和外部表等功能,查询引擎获得了灵活性。

开源

开源是数据湖采用的关键驱动力。RustFS 是 100% 开源的,确保了避免厂商锁定。

快速增长

数据不断生成,这意味着必须不断摄取数据——而不会造成“消化不良”。RustFS 为这个世界而构建,并且可以直接与 Kafka、Flink、RabbitMQ 和许多其他解决方案配合使用。其结果是,数据湖/湖仓一体成为一个单一的事实来源,可以无缝扩展到 EB 甚至更高。

RustFS 拥有多个客户,每日数据摄取量超过 250 PB。

简洁性

简洁性很难实现。它需要努力、纪律,最重要的是承诺。RustFS 在设计和操作上优先考虑简洁性,并以此为哲学承诺,使我们的软件易于部署、使用、升级和扩展。现代数据湖不必复杂。有几个关键部分,我们致力于确保 RustFS 是最容易采用和部署的。

ELT 或 ETL - 完美兼容

RustFS 不仅与所有数据流协议兼容,而且与所有数据管道兼容——所有数据流协议和数据管道都与 RustFS 兼容。所有供应商都经过了广泛的测试,并且数据管道通常具有弹性和高性能。

弹性

RustFS 使用对象内的纠删码来保护数据,这比从未被采用的 HDFS 复制方案效率高得多。此外,RustFS 的比特腐蚀检测确保它永远不会读取损坏的数据——动态捕获和修复损坏的对象数据。RustFS 还支持跨区域、主动-主动复制。最后,RustFS 支持完整的对象锁定框架,提供法律保留和保留(带有治理和合规模式)。

软件定义

Hadoop HDFS 的继任者不是硬件设备,而是运行在商用硬件上的软件。这就是 RustFS 的本质——软件。与 Hadoop HDFS 一样,RustFS 的设计充分利用了商用服务器。能够利用 NVMe 驱动器和 100 GbE 网络,RustFS 可以缩小数据中心的规模,从而提高运营效率和可管理性。事实上,构建替代数据湖的公司可以将硬件占用空间减少 60% 或更多,同时提高性能并减少管理所需的 FTE(全职当量)。

安全性

RustFS 支持多种复杂的服务器端加密方案,以保护数据无论其位置如何,无论是传输中还是静态存储。RustFS 的方法确保了机密性、完整性和真实性,而对性能的影响微乎其微。服务器端和客户端加密支持使用 AES-256-GCM、ChaCha20-Poly1305 和 AES-CBC,确保了应用程序的兼容性。此外,RustFS 还支持行业领先的密钥管理系统(KMS)。

根据 Apache 许可证 2.0 发布。