A vector database, vector store or vector search engine is a database that can store vectors (fixed-length lists of numbers) along with other data items. Vector databases typically implement one or more Approximate Nearest Neighbor algorithms,[1][2][3] so that one can search the database with a query vector to retrieve the closest matching database records.

Vectors are mathematical representations of data in a high-dimensional space. In this space, each dimension corresponds to a feature of the data, with the number of dimensions ranging from a few hundred to tens of thousands, depending on the complexity of the data being represented. A vector's position in this space represents its characteristics. Words, phrases, or entire documents, as well as images, audio, and other types of data, can all be vectorized.[4]

These feature vectors may be computed from the raw data using machine learning methods such as feature extraction algorithms, word embeddings[5] or deep learning networks. The goal is that semantically similar data items receive feature vectors close to each other.

Vector databases can be used for similarity search, semantic search, multi-modal search, recommendations engines, large language models (LLMs), object detection, etc.[6]

Vector databases are also often used to implement retrieval-augmented generation (RAG), a method to improve domain-specific responses of large language models. The retrieval component of a RAG can be any search system, but is most often implemented as a vector database. Text documents describing the domain of interest are collected, and for each document or document section, a feature vector (known as an "embedding") is computed, typically using a deep learning network, and stored in a vector database. Given a user prompt, the feature vector of the prompt is computed, and the database is queried to retrieve the most relevant documents. These are then automatically added into the context window of the large language model, and the large language model proceeds to create a response to the prompt given this context.[7]

Techniques

edit

The most important techniques for similarity search on high-dimensional vectors include:

and combinations of these techniques.[citation needed]

In recent benchmarks, HNSW-based implementations have been among the best performers.[8][9] Conferences such as the International Conference on Similarity Search and Applications, SISAP and the Conference on Neural Information Processing Systems (NeurIPS) host competitions on vector search in large databases.

Implementations

edit
Name License
Aerospike[10][11] Proprietary
AllegroGraph[12][13] Proprietary (Managed Service)
Apache Cassandra[14][15] Apache License 2.0
Chroma[16][17] Apache License 2.0[18]
Azure Cosmos DB[19] Proprietary (Managed Service)
Couchbase[20][21] BSL 1.1[22]
CrateDB[23] Apache License 2.0
DataStax[24] Proprietary (Managed Service)
Elasticsearch[25] Server Side Public License, Elastic License[26]
HDF5 Query Indexing[27] BSD 3-Clause[28]
Lantern[29] BSL 1.1[30]
LlamaIndex[31] MIT License[32]
MariaDB[33][34] GPL v2[35]
Marqo[36] Apache License 2.0[37]
Meilisearch[38] MIT License[39]
Milvus[40][41] Apache License 2.0
MongoDB Atlas[42] Server Side Public License (Managed service)
Neo4j[43][44] GPL v3 (Community Edition)[45]
ObjectBox[46] Apache License 2.0[47]
OpenSearch[48][49][50] Apache License 2.0[51]
Oracle Database[52] Proprietary (Managed Service or License)
Pinecone[53] Proprietary (Managed Service)
Postgres with pgvector[54] PostgreSQL License[55]
Qdrant[56] Apache License 2.0[57]
Redis Stack[58][59] Redis Source Available License[60]
Snowflake[61] Proprietary (Managed Service)
SurrealDB[62] BSL 1.1[63]
Typesense[64] GPL v3 (Community Edition)[65]
Vespa[66] Apache License 2.0[67]
Weaviate[68] BSD 3-Clause[69]

See also

edit

References

edit
  1. ^ Roie Schwaber-Cohen. "What is a Vector Database & How Does it Work". Pinecone. Retrieved 18 November 2023.
  2. ^ "What is a vector database". Elastic. Retrieved 18 November 2023.
  3. ^ "What is a Vector Database?". Retrieved 10 July 2023.
  4. ^ "Vector database". learn.microsoft.com. 2023-12-26. Retrieved 2024-01-11.
  5. ^ Evan Chaki (2023-07-31). "What is a vector database?". Microsoft. A vector database is a type of database that stores data as high-dimensional vectors, which are mathematical representations of features or attributes.
  6. ^ "Vector database". learn.microsoft.com. 2023-12-26. Retrieved 2024-01-11.
  7. ^ Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra; Petroni, Fabio; Karpukhin, Vladimir; Goyal, Naman; Küttler, Heinrich (2020). "Retrieval-augmented generation for knowledge-intensive NLP tasks". Advances in Neural Information Processing Systems 33: 9459–9474. arXiv:2005.11401.
  8. ^ Aumüller, Martin; Bernhardsson, Erik; Faithfull, Alexander (2017), Beecks, Christian; Borutta, Felix; Kröger, Peer; Seidl, Thomas (eds.), "ANN-Benchmarks: A Benchmarking Tool for Approximate Nearest Neighbor Algorithms", Similarity Search and Applications, vol. 10609, Cham: Springer International Publishing, pp. 34–49, arXiv:1807.05614, doi:10.1007/978-3-319-68474-1_3, ISBN 978-3-319-68473-4, retrieved 2024-03-19
  9. ^ Aumüller, Martin; Bernhardsson, Erik; Faithfull, Alexander (2017). "ANN-Benchmarks: A Benchmarking Tool for Approximate Nearest Neighbor Algorithms". In Beecks, Christian; Borutta, Felix; Kröger, Peer; Seidl, Thomas (eds.). Similarity Search and Applications. Lecture Notes in Computer Science. Vol. 10609. Cham: Springer International Publishing. pp. 34–49. arXiv:1807.05614. doi:10.1007/978-3-319-68474-1_3. ISBN 978-3-319-68474-1.
  10. ^ "Aerospike Recognized by Independent Research Firm Among Notable Vendors in Vector Databases Report". Morningstar. 2024-05-07. Retrieved 2024-08-01.
  11. ^ "Aerospike raises $109M for its real-time database platform to capitalize on the AI boom". TechCrunch. 2024-04-04. Retrieved 2024-08-01.
  12. ^ "AllegroGraph 8.0 Incorporates Neuro-Symbolic AI, a Pathway to AGI". TheNewStack. 2023-12-29. Retrieved 2024-06-06.
  13. ^ "Franz Inc. Introduces AllegroGraph Cloud: A Managed Service for Neuro-Symbolic AI Knowledge Graphs". Datanami. 2024-01-18. Retrieved 2024-06-06.
  14. ^ "5 Hard Problems in Vector Search, and How Cassandra Solves Them". TheNewStack. 2023-09-22. Retrieved 2023-09-22.
  15. ^ "Vector Search quickstart". Retrieved 2023-11-21.
  16. ^ Palazzolo, Stephanie. "Vector database Chroma scored $18 million in seed funding at a $75 million valuation. Here's why its technology is key to helping generative AI startups". Business Insider. Retrieved 2023-11-16.
  17. ^ MSV, Janakiram (2023-07-28). "Exploring Chroma: The Open Source Vector Database for LLMs". The New Stack. Retrieved 2023-11-16.
  18. ^ "chroma/LICENSE at main · chroma-core/chroma". GitHub.
  19. ^ "Vector database". learn.microsoft.com. 26 December 2023. Retrieved 2024-01-10.
  20. ^ "Couchbase aims to boost developer database productivity with Capella IQ AI tool". VentureBeat. 2023-08-30.
  21. ^ "Investor Presentation Third Quarter Fiscal 2024". Couchbase Investor Relations. 2023-12-06.
  22. ^ Anderson, Scott (2021-03-26). "Couchbase Adopts BSL License". The Couchbase Blog. Retrieved 2024-02-14.
  23. ^ "Open Source Vector Database". CrateDB Blog. 16 November 2023. Retrieved 2024-11-06.
  24. ^ Sean Michael Kerner (18 July 2023). "DataStax brings vector database search to multicloud with Astra DB". Venture Beat.
  25. ^ Kerner, Sean (23 May 2023). "Elasticsearch Relevance Engine brings new vectors to generative AI". VentureBeat. Retrieved 18 November 2023.
  26. ^ "elasticsearch/LICENSE.txt at main · elastic/elasticsearch". GitHub.
  27. ^ "HDF5 Query Indexing". GitHub. 27 Sep 2019. Retrieved 3 May 2024.
  28. ^ "HDFGroup/COPYING at master · HDFGroup/hdf5". GitHub. Retrieved 2023-10-29.
  29. ^ "Lantern". 2024-04-05. Retrieved 2024-04-05.
  30. ^ "lantern/LICENSE at main /lanterndata/lantern". GitHub. Retrieved 2024-04-10.
  31. ^ Wiggers, Kyle (2023-06-06). "LlamaIndex adds private data to large language models". TechCrunch. Retrieved 2023-10-29.
  32. ^ "llama_index/LICENSE at main · run-llama/llama_index". GitHub. Retrieved 2023-10-29.
  33. ^ "MariaDB Vector". MariaDB.org. Retrieved 2024-07-30.
  34. ^ "Vector search in old and modern databases". manticoresearch.com. Retrieved 2024-07-30.
  35. ^ "Licensing FAQ". MariaDB KnowledgeBase. Retrieved 2024-07-30.
  36. ^ Sawers, Paul (2023-08-16). "Meet Marqo, an open source vector search engine for AI applications". TechCrunch. Retrieved 2024-08-20.
  37. ^ marqo-ai/marqo, Marqo, 2024-08-20, retrieved 2024-08-20
  38. ^ "Meilisearch Homepage". Meilisearch. 2024-10-08. Retrieved 2023-10-29.
  39. ^ "meilisearch/LICENSE at main · meilisearch/meilisearch". GitHub. Retrieved 2024-10-08.
  40. ^ "Open Source Vector Database – Milvus – LFAI & DATA". Retrieved 29 October 2023.
  41. ^ Liao, Ingrid Lunden and Rita (2022-08-24). "Zilliz raises $60M, relocates to SF". TechCrunch. Retrieved 2023-10-29.
  42. ^ "Introducing Atlas Vector Search: Build Intelligent Applications with Semantic Search and AI Over Any Type of Data". MongoDB. 2023-06-22.
  43. ^ "Neo4j enhances its graph database with vector search". itbrief. 2023-08-22.
  44. ^ "Vector search indexes". neo4j.
  45. ^ "Neo4j licensing".
  46. ^ "Top Fifteen Vector Databases". db-engines.com. 2024-07-03. Retrieved 2024-07-03.
  47. ^ "ObjectBox Java license". github.
  48. ^ "Using OpenSearch as a Vector Database". OpenSearch.org. 2023-08-02. Retrieved 2024-02-07.
  49. ^ Pan, James Jie; Wang, Jianguo; Li, Guoliang (2023-10-21), Survey of Vector Database Management Systems, arXiv:2310.14021
  50. ^ "AWS debuts new AI-powered data management and analysis tools". SiliconANGLE. 2023-07-26. Retrieved 2024-02-07.
  51. ^ "OpenSearch license". github.
  52. ^ Hook(1) and Priyadarshi(2), Doug(1) and Ranjan(2) (May 2, 2024). "Oracle Announces General Availability of AI Vector Search in Oracle Database 23ai". oracle. Retrieved July 9, 2024.{{cite web}}: CS1 maint: numeric names: authors list (link)
  53. ^ "Pinecone leads 'explosion' in vector databases for generative AI". VentureBeat. 2023-07-14. Retrieved 2023-10-29.
  54. ^ "pgvector". GitHub. Retrieved 2023-11-27.
  55. ^ "pgvector/License". GitHub. Retrieved 2023-11-27.
  56. ^ Sawers, Paul (2023-04-19). "Qdrant, an open-source vector database startup, wants to help AI developers leverage unstructured data". TechCrunch. Retrieved 2023-10-29.
  57. ^ "qdrant/LICENSE at master · qdrant/qdrant". GitHub. Retrieved 2023-10-29.
  58. ^ "Using Redis as a Vector Database with OpenAI | OpenAI Cookbook". cookbook.openai.com. Retrieved 2024-02-10.
  59. ^ "Redis as a vector database quick start guide". Redis. Retrieved 2024-01-31.
  60. ^ "Search and query". Redis. Retrieved 2024-02-10.
  61. ^ "Vector data type and vector similarity functions — General Availability". Snowflake. 2024-05-17. Retrieved 2024-05-17.
  62. ^ Wiggers, Kyle (2023-01-04). "SurrealDB raises $6M for its database-as-a-service offering". TechCrunch. Retrieved 2024-01-19.
  63. ^ "SurrealDB | License FAQs | The ultimate multi-model database". SurrealDB. Retrieved 2024-02-14.
  64. ^ Martinez, Miguel (2024-06-20). "Typesense Homepage". Typesense. Retrieved 2024-06-20.
  65. ^ "Typesense licensing". GitHub.
  66. ^ Riley, Duncan (4 October 2023). "Yahoo spins off AI scaling engine Vespa as an independent company". siliconANGLE. Retrieved 18 November 2023.
  67. ^ "vespa/LICENSE at master · vespa-engine/vespa". GitHub.
  68. ^ "Weaviate reels in $50M for its AI-optimized vector database". SiliconANGLE. 2023-04-21. Retrieved 2023-10-29.
  69. ^ "weaviate/LICENSE at master · weaviate/weaviate". GitHub. Retrieved 2023-10-29.
edit