Summary:
YbHnsw organizes data into blocks, which are loaded on demand. When new search operations require different blocks, previously loaded ones may need to be unloaded.
This diff implements block cache to manage:
- Dynamic loading of required blocks
- Unloading of inactive blocks when new blocks are needed
This ensures efficient memory usage while maintaining fast access to frequently used data.
Jira: DB-16564
Test Plan:
HnswTest.Cache
HnswTest.ConcurrentCache
Reviewers: arybochkin
Reviewed By: arybochkin
Subscribers: ybase
Tags: #jenkins-ready
Differential Revision: https://phorge.dev.yugabyte.com/D43752