MinIO 的企业缓存是一种缓存服务,它使用分布式的、共享的内存池来缓存频繁访问的对象。企业缓存启用并配置后对应用程序层是透明的,并且操作起来很顺畅。此外,MinIO 实现保留了完整的数据持久性。
MinIO 非常适合需要 IOPS 和吞吐量性能的工作负载。在现代架构中,这越来越意味着 AI/ML 工作负载。在没有缓存的情况下,I/O 可能会成为 GPU 的瓶颈。使用企业缓存,包含训练、验证和测试数据集的存储桶可以保存在内存中,以提供 GPU 基于模型训练所需的速度和吞吐量。
MinIO 缓存不同于通用缓存服务,因为它了解数据
源 - 也就是 MinIO 对象存储。
MinIO 缓存专为缓存 MinIO 对象而构建。如果在现有对象缓存中找不到对象,则它会自动检索对象,将其缓存以供将来请求使用,并将对象返回给调用方。
自动更新新对象版本。如果缓存的对象更新了,则 MinIO 对象存储会自动使用新对象版本更新缓存。
MinIO 缓存使用一致哈希算法将缓存的对象数据分布到缓存节点集群(称为对等节点)中。一致哈希确保可以根据对象的键轻松定位对象。这导致对象键值与保存缓存对象的节点之间的一对一关系。它还确保节点包含相同数量的数据,以便一个节点不会过载,而其他节点处于空闲状态。更重要的是,它以这样一种方式分布对象,即如果添加或删除节点,则需要最少的重新排列才能使系统对齐。
缓存是 MinIO 的幕后扩展。因为缓存是 MinIO 的扩展,所以开发人员不需要学习新的 API。开发人员使用他们一直在使用的相同 API。如果请求的对象在缓存中,则 MinIO 会自动从缓存中获取它。如果对象应该位于缓存中,并且它是第一次被请求,则 MinIO 会从对象存储中获取它,将其返回给调用方,并将其放入缓存中以供后续请求使用。
滚动缓存用于内存管理。MinIO 缓存使用滚动缓存来将缓存的总大小保持在 MinIO 缓存配置中指定的限制内。如果添加新对象会导致缓存大小超过指定限制,则将根据指示上次请求对象的时间戳删除一个或多个对象。
立即与 MinIO 工程师联系,解决您的缓存问题
我们将在一个小时内与您联系。