Details
-
Epic
-
Status: Stalled (View Workflow)
-
Critical
-
Resolution: Unresolved
-
vector search
Description
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast.
- ideally they'll be engine independent
- indexes should be update-able
- in this task we'll only do Euclidean distance
- we'll benchmark it on real multi-million-rows data sets
- what algorithm, exactly, to use is still unclear
Attachments
Issue Links
- relates to
-
MDEV-32886 VEC_FromText() and VEC_ToText() functions
-
- Closed
-
-
MDEV-33404 Engine-independent indexes: subtable method
-
- Closed
-
-
MDEV-33405 Engine-independent indexes: low-level API method
-
- Closed
-
-
MDEV-33406 basic optimizer support for k-NN searches
-
- Closed
-
-
MDEV-33407 Parser support for vector indexes
-
- Closed
-
-
MDEV-33408 HNSW for k-ANN vector searches
-
- Closed
-
-
MDEV-33410 VECTOR data type
-
- Closed
-
-
MDEV-33411 OPTIMIZE for graph indexes
-
- Open
-
-
MDEV-33413 cache k-ANN graph in memory
-
- Closed
-
-
MDEV-33414 benchmark vector indexes
-
- Closed
-
-
MDEV-33415 graph index search: heuristical edge choice
-
- Closed
-
-
MDEV-33417 VEC_DISTANCE_COSINE() function
-
- Closed
-
-
MDEV-33419 graph index insert: consider more neighbors
-
- Open
-
-
MDEV-34436 DDL: per-index attributes
-
- Closed
-
-
MDEV-34698 mhnsw: support AVX-512 instructions
-
- Closed
-
-
MDEV-34699 mhnsw: support aarch64 SIMD instructions
-
- Closed
-
-
MDEV-34804 mhnsw: compiler-independent choice of CPU-specific optimizations
-
- Open
-
-
MDEV-34805 provide various information about vector indexes
-
- Open
-
-
MDEV-34806 mhnsw: use start_bulk_insert to estmate min_rows
-
- Closed
-
-
MDEV-34811 handlerton refactoring
-
- Closed
-
-
MDEV-35196 XA support for mhnsw indexes
-
- Open
-
-
MDEV-35264 Improve InnoDB concurrent insert into vector index performance
-
- Open
-
-
MDEV-35283 support nullable indexed vector columns
-
- Open
-
-
MDEV-35314 multi-part vector indexes
-
- Open
-
-
MDEV-35315 vector indexes in partitioned tables
-
- Open
-
-
MDEV-35316 more than one vector index per table
-
- Open
-
-
MDEV-35418 Better support for multiple duplicates vectors in the index
-
- Open
-
-
MDEV-35629 Hybrid Search (Text + Vector) w/ Simple Re-Ranking
-
- Open
-
-
MDEV-36184 mhnsw: support powerpc64 SIMD instructions
-
- In Review
-
-
MDEV-32885 VEC_DISTANCE() function
-
- Closed
-
-
MDEV-33409 Index Condition Pushdown for k-ANN graph searches
-
- Open
-
-
MDEV-33412 cost-based optimizer choice for k-NN indexes
-
- Open
-
-
MDEV-33416 graph index: use smaller floating point numbers
-
- Closed
-
-
MDEV-33418 graph index insert: stronger selection of neighbors
-
- Closed
-
-
MDEV-34862 Fix ALTER TABLE to work with high-level indexes
-
- Closed
-
-
MDEV-35327 Add VEC_DISTANCE_MANHATTAN (L1) distance function on Vector
-
- Open
-
-
MDEV-35831 MYSQL_TYPE_VECTOR
-
- Open
-
-
MDEV-35841 replicate MySQL 9.0 Vector to MariaDB
-
- Open
-
-
MDEV-36100 Generate embeddings automatically on INSERT
-
- Open
-
- links to
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue relates to |
Description |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * what algorithm, exactly, to use is still unclear |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear |
Fix Version/s | 11.5 [ 29506 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Comment |
[ (/) index storage: first version. inside the table row, in the internal (not visible to a user) column
won't be performant, but allows to implement and debug the algorithm the engine doesn't see the key at all, so enable/disable keys likely won't work. but as we'll probably change the storage in the future, it doesn't matter now. ] |
Remote Link | This issue links to "early gdoc (Web Link)" [ 36381 ] |
Description |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear h1. this task is at the moment in the _early design phase_ the ideas are recorded, added, changed, and -removed- in the linked gdoc |
Description |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear h1. this task is at the moment in the _early design phase_ the ideas are recorded, added, changed, and -removed- in the linked gdoc |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear h1. *this task is at the moment in the _early design phase_ the ideas are recorded, added, changed, and -removed- in the linked gdoc* |
Description |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear h1. *this task is at the moment in the _early design phase_ the ideas are recorded, added, changed, and -removed- in the linked gdoc* |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear h1. *this task is at the moment in the _early design phase_ the ideas are recorded, added, changed, and -removed- *in the linked gdoc* |
Description |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear h1. *this task is at the moment in the _early design phase_ the ideas are recorded, added, changed, and -removed- *in the linked gdoc* |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear h1. *this task is at the moment in the _early design phase_ the ideas are recorded, added, changed, and -removed- in the linked gdoc* |
Description |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear h1. *this task is at the moment in the _early design phase_ the ideas are recorded, added, changed, and -removed- in the linked gdoc* |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue relates to |
Link | This issue relates to MDEV-33411 [ MDEV-33411 ] |
Description |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * optimizer-wise we'll do like with fulltext search * what algorithm, exactly, to use is still unclear |
A common operation for multi-dimensional vectors is to find k nearest vectors to the given one.
This task is about implementing indexes that allow to do it fast. * ideally they'll be engine independent * indexes should be update-able * in this task we'll only do Euclidean distance * we'll benchmark it on real multi-million-rows data sets * what algorithm, exactly, to use is still unclear |
Link |
This issue relates to |
Link |
This issue relates to |
Link | This issue relates to MDEV-33412 [ MDEV-33412 ] |
Link | This issue relates to MDEV-33409 [ MDEV-33409 ] |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue relates to |
Link | This issue relates to MDEV-33419 [ MDEV-33419 ] |
Fix Version/s | 11.6 [ 29515 ] | |
Fix Version/s | 11.5 [ 29506 ] |
Status | In Progress [ 3 ] | Stalled [ 10000 ] |
Link | This issue relates to MDEV-34356 [ MDEV-34356 ] |
Link |
This issue relates to |
Priority | Major [ 3 ] | Critical [ 2 ] |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue causes |
Link | This issue relates to MDEV-34804 [ MDEV-34804 ] |
Link | This issue relates to MDEV-34805 [ MDEV-34805 ] |
Link |
This issue relates to |
Link |
This issue relates to |
Status | Stalled [ 10000 ] | In Progress [ 3 ] |
Link |
This issue relates to |
Link |
This issue relates to |
Fix Version/s | 11.7 [ 29815 ] | |
Fix Version/s | 11.6 [ 29515 ] |
Fix Version/s | 11.8 [ 29921 ] | |
Fix Version/s | 11.7 [ 29815 ] |
Link | This issue relates to MDEV-35196 [ MDEV-35196 ] |
Link | This issue relates to MDEV-35222 [ MDEV-35222 ] |
Link |
This issue relates to |
Link | This issue relates to MDEV-35264 [ MDEV-35264 ] |
Link |
This issue causes |
Link | This issue relates to MDEV-35283 [ MDEV-35283 ] |
Link | This issue relates to MDEV-35314 [ MDEV-35314 ] |
Link | This issue relates to MDEV-35315 [ MDEV-35315 ] |
Link | This issue relates to MDEV-35316 [ MDEV-35316 ] |
Link | This issue relates to MDEV-35327 [ MDEV-35327 ] |
Fix Version/s | 11.8 [ 29921 ] |
Issue Type | New Feature [ 2 ] | Epic [ 5 ] |
Status | In Progress [ 3 ] | Stalled [ 10000 ] |
Fix Version/s | N/A [ 14700 ] |
Link | This issue relates to MDEV-35418 [ MDEV-35418 ] |
Summary | k-ANN indexes for vectors | vector search |
Link | This issue includes MDEV-35831 [ MDEV-35831 ] |
Link | This issue relates to MDEV-35831 [ MDEV-35831 ] |
Link | This issue includes MDEV-35831 [ MDEV-35831 ] |
Link | This issue relates to MDEV-35841 [ MDEV-35841 ] |
Link | This issue relates to MDEV-36100 [ MDEV-36100 ] |
Link | This issue relates to MDEV-35629 [ MDEV-35629 ] |
Link | This issue relates to MDEV-36184 [ MDEV-36184 ] |
Epic Name | vectore search |
Epic Name | vectore search | vector search |