[MDEV-33408] HNSW for k-ANN vector searches Created: 2024-02-07 Updated: 2024-02-07 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major |
| Reporter: | Sergei Golubchik | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||
| Description |
|
For the first iteration of Vector search, we will implement HNSW algorithm. The implementation will only support Euclidean distance initially. Basic plan: Storage wise, we'll store the graph as part of a subtable (MDEV-33404). The table's definition will be something along these lines:
For each link in the graph, there will be a corresponding entry in the table.
The index (level,src) will allow for quick jumping between nodes. If src is found on level n, then it is also found on level n - 1 and so on. Level 0 is the base level with all the nodes. Performance considerations:
|