pingcap / tidb

TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://www.pingcap.com/tidb-serverless/
https://pingcap.com
Apache License 2.0
36.99k stars 5.82k forks source link

Support vector and vector index #21647

Open ilovesoup opened 3 years ago

ilovesoup commented 3 years ago

Feature Request

Is your feature request related to a problem? Please describe: According to rising attentions for traffic monitoring, image / video retrieval, recommendation system, more and more application use AI / Deep learning to process data. TiDB are usually used as meta data storage solution for those cases: store raw video / image in a blob store and store image tags and meta info in TiDB. When users retrieve data, they will be using vector index for vector similarity search. If this is supported, TiDB will have broader adoption in those areas.

Describe the feature you'd like:

  1. Feature Vector stored in TiDB as a new data type, for example, feature VECTOR(1024). It looks like a floating array.
  2. Supporting building ANN index on feature vector, such as hnsw, ivf.
  3. Supporting order by based on similarity. Such as

ORDER BY cosine_distance(array[0.2,0.12,...0.23],feature)

shizn commented 8 months ago

Hey everyone, we are excited to announce that we've started rolling out Vector Search as a private beta on TiDB Serverless. This feature aims to address the growing needs for sophisticated data processing and retrieval methods in domains like AI and deep learning, as highlighted in this issue. If you are interested in taking part and exploring the new capabilities, you can sign up for the private beta at https://tidb.cloud/ai. Also you can get more details here in the blog post. We are looking forward to your feedback and contributions to make TiDB even more powerful and versatile for modern applications.

longlongago7777 commented 7 months ago

How is the progress now ?Only for cloud,Any release plan for OP version?