缓存 Cache
为什么需要缓存 Cache?
缓存是提升数据查询性能和降低存储成本的关键组件。在大数据场景下,直接访问冷存储或湖存储可能会带来较高的延迟和成本。通过使用缓存,可以:
- 提升查询性能:将热点数据存储在高速缓存中,显著减少查询延迟
- 降低成本:减少对底层存储的直接访问,降低存储访问成本
- 优化资源利用:智能缓存策略提高整体系统效率
- 改善用户体验:更快的查询响应速度提升用户满意度
分布式缓存服务 Cache
Cache 是一种分布式缓存资源,用于加速对冷存和湖存储的查询访问。Cache 采用 LRU 策略实现汰换。初始化 Cache 时,可以指定 Cache 的最大使用空间,ProtonBase 会自动优化 Cache 的使用,最大使用量不超过 Cache设置的最大值。
Cache 可以由多个 Warebase 共享,也可以独占。在需要 IO 隔离的场景,建议为不同的 Warebase 绑定不同的 Cache 服务。
Cache 服务是常驻服务,在集群扩容时,Cache 服务稳定可用。
Cache 的计量包含两部分,一个是 Cache 的实际使用量,一个是 Cache 无法命中时触发的对底层存储的 GET请求量。在 Cache 使用率较高,但命中率低的场景,说明 Cache 空间不足,会引起更多的直接对底层存储的 GET 请求,此时应该调大 Cache 的最大使用空间。
缓存使用建议:
- 根据数据访问模式合理设置缓存大小
- 监控缓存命中率,及时调整配置
- 在需要 IO 隔离的场景下使用独立缓存
缓存的创建与管理
创建缓存
用户可以在创建 Warebase 时,同时创建缓存服务,如下图:
在"数据"->"缓存"页面,可以新建 Cache,最小空间为 100G,步长为 10G,建议初始使用空间为冷存/湖存储的 1/10,后续按需扩大缓存大小。
创建缓存最佳实践:
- 根据数据量和访问模式预估初始缓存大小
- 从较小的缓存开始,根据实际使用情况调整
- 考虑业务高峰期的缓存需求
缓存绑定
可以在新建 Warebase 时,在创建页面,选择绑定某个 Cache。
在缓存管理页面,可以将指定缓存绑定到一个或多个 Warebase 上,点击"绑定",会弹出如下界面。
在缓存管理页面,用户可以选择将某个 Cache 与某个 Warebase 解绑。
缓存绑定建议:
- 根据业务需求和性能要求选择合适的缓存绑定策略
- 在共享缓存和独立缓存之间做出权衡
- 定期审查缓存绑定关系,确保符合当前需求
缓存编辑
用户可以在缓存编辑页面,修改缓存名、缓存大小和缓存描述。
缓存编辑注意事项:
- 调整缓存大小可能需要短暂的重新分配时间
- 修改缓存名称不影响缓存数据
- 建议在业务低峰期进行缓存大小调整
缓存释放
缓存释放前,需要首先解绑所有 Warebase。
缓存释放检查清单:
- 确认不再需要该缓存服务
- 解绑所有关联的 Warebase
- 评估对查询性能的影响
- 通知相关业务团队
缓存管理最佳实践:
- 容量规划:根据数据访问模式和业务需求合理规划缓存容量
- 性能监控:持续监控缓存命中率和性能指标
- 定期优化:根据使用情况定期调整缓存配置
- 成本控制:平衡缓存性能和成本,避免过度配置
- 故障处理:制定缓存故障的应急处理方案