缓存
UDB-SX 依赖不同类型的内存堆上缓存来加速数据检索,从而显著改善搜索延迟。然而,缓存大小受限于节点上可用的内存量。当处理一个可能被缓存的大数据集时,缓存大小的限制可能导致许多数据片段要么从缓存中被移除,要么无法被缓存,从而导致查询不完整。这会影响到性能,因为 UDB-SX 需要重新处理查询,造成较高的资源消耗。
了解您的数据如何使用缓存,有助于提升集群性能,并防止内存使用过多,从而降低查询数据的成本。
支持的内存堆上缓存类型
UDB-SX 支持以下内存堆上缓存类型:
索引请求缓存:在每个分片上缓存本地结果。这使得频繁使用且可能资源消耗较大的搜索请求能够几乎即时地返回结果。
查询缓存:在分片级别缓存来自相似查询的通用数据。查询缓存比请求缓存更精细,可以缓存数据以供不同查询重用。
字段数据缓存:缓存字段数据和全局序数,两者都用于支持对某些字段类型进行聚合。
额外的缓存存储
此为实验性功能,不建议在生产环境中使用。如需了解该功能的最新进展或提供反馈,请参阅相关的 GitHub 问题(相关文档可联系售前工作人员获取)。
除了现有的自定义 UDB-SX 内存堆上缓存存储外,缓存插件还提供以下缓存存储:
磁盘缓存:将查询的预计算结果存储在磁盘上。使用磁盘缓存可以缓存更大的数据集,前提是磁盘延迟在可接受的范围内。
分层缓存:一种多层缓存,其中每一层都有其自身的特性和性能水平。例如,分层缓存可以同时包含内存堆上缓存层和磁盘缓存层。通过组合不同的层级,您可以在缓存性能和大小之间实现平衡。要了解更多信息,请参阅 分层缓存。
在 UDB-SX 中,请求缓存已与缓存插件集成。您可以将分层缓存或磁盘缓存用作请求级缓存。