Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
Description
Let's keep the graph in memory. Like, in TABLE_SHARE.
Add nodes there as they're read from the table, e.g. on searches.
Update on inserts.
When it'll grow beyond some (configurable) limit, start removing nodes that are close to each other. Or remove the bottom level in HNSW. The goal is to still keep enough in memory to find any row with no more than one table access.
Not clear how to do transaction isolation.
Attachments
Issue Links
- is blocked by
-
MDEV-33414 benchmark vector indexes
-
- Closed
-
- is part of
-
MDEV-34939 vector search in 11.7
-
- Closed
-
- relates to
-
MDEV-32887 vector search
-
- Stalled
-
Activity
Field | Original Value | New Value |
---|---|---|
Link | This issue relates to MDEV-32887 [ MDEV-32887 ] |
Link |
This issue is blocked by |
Assignee | Vicențiu Ciorbaru [ cvicentiu ] |
Assignee | Vicențiu Ciorbaru [ cvicentiu ] | Sergei Golubchik [ serg ] |
Fix Version/s | 11.6 [ 29515 ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Comment |
[ InnoDB. Solutions:
# we'll use a separate local cache, in a {{TABLE}}, not {{TABLE_SHARE}}. #* not ideal, there can be many TABLE's, with different caches #** better would be to have one cache per {{TABLE_SHARE}} per transaction #* this cache will be merged into the shared one on commit #** otherwise the shared one will become stale as modified nodes won't be re-read from the table # the shared cache is always {{READ COMMITTED}}, due to 1. But the transaction may be using {{REPEATABLE READ}} #* it'll need to verify every position from the cache, whether it's visible or not. While {{rnd_pos()}} will do, a faster alternative is desirable #* the cache will work better in corner cases (less "approximate") if InnoDB will always use read-committed when accessing the hlindex. Likely, need new handler API for that # solved by 1 ] |
Status | In Progress [ 3 ] | In Testing [ 10301 ] |
Fix Version/s | 11.7 [ 29815 ] | |
Fix Version/s | 11.6 [ 29515 ] |
Link |
This issue is part of |
Component/s | Vector search [ 20205 ] | |
Fix Version/s | 11.7.1 [ 29913 ] | |
Fix Version/s | 11.7 [ 29815 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Testing [ 10301 ] | Closed [ 6 ] |