{"id":16959,"date":"2026-10-13T09:43:31","date_gmt":"2026-10-13T16:43:31","guid":{"rendered":"https:\/\/www.pingcap.com\/?post_type=article&#038;p=16959"},"modified":"2026-10-13T09:43:32","modified_gmt":"2026-10-13T16:43:32","slug":"do-we-really-need-specialized-vector-databases-for-vector-stores","status":"publish","type":"article","link":"https:\/\/www.pingcap.com\/ko\/article\/do-we-really-need-specialized-vector-databases-for-vector-stores\/","title":{"rendered":"Do we Really Need Specialized Vector Databases for Vector Stores?"},"content":{"rendered":"<p class=\"wp-block-paragraph\">A RAG prototype usually starts with an in-memory vector store that lives inside the application process. When the prototype heads to production, a common next step is to add a standalone vector database next to the existing application database, plus a job that copies embeddings and metadata between the two. That second system brings its own scaling, backups, access control, and sync failures. The vector store vs vector database question decides whether you take on that second system at all.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide separates the two terms, lists the cases where a specialized vector database is worth it, and shows how a SQL database such as <a href=\"https:\/\/www.pingcap.com\/ko\/what-is-tidb\/\">\ud2f0DB<\/a> can sit behind the same vector store interface.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Is_a_Vector_Store\"><\/span><strong>What Is a Vector Store?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A vector store is the layer that holds embeddings and returns the ones closest to a query vector. The term carries two meanings. In storage terms, it is the component that persists vectors and runs similarity search, whether that is an in-memory library, an extension inside a database, or a standalone service. In framework terms, LangChain and LlamaIndex each define a vector store interface that your RAG code calls, and many backends implement it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The framework meaning is the one that matters for production planning. Your application code talks to the interface, so the real decision is which backend sits behind it and what else that backend has to do.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Vector_Store_vs_Vector_Database_The_Difference\"><\/span><strong>Vector Store vs. Vector Database: The Difference<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A vector database is a full database system built around vector storage, adding durability, indexing, metadata filtering, and operational tooling to the core store. Every vector database contains a vector store, but not every vector store is a database.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\ucc28\uc6d0<\/th><th>Vector store (library or in-process)<\/th><th>Standalone vector database<\/th><th>SQL database with vector support<\/th><\/tr><\/thead><tbody><tr><td>Examples<\/td><td>FAISS, in-memory Chroma<\/td><td>Pinecone, Weaviate, Qdrant, Milvus<\/td><td>PostgreSQL with pgvector, TiDB<\/td><\/tr><tr><td>Durability<\/td><td>Often none, or file snapshots<\/td><td>Built in<\/td><td>Built in<\/td><\/tr><tr><td>Metadata filtering<\/td><td>Basic, in application code<\/td><td>Vendor-specific filter syntax<\/td><td>Full SQL WHERE and joins<\/td><\/tr><tr><td>Transactions with app data<\/td><td>No<\/td><td>No; requires a sync job<\/td><td>Yes, same database<\/td><\/tr><tr><td>Scaling<\/td><td>Bounded by one process<\/td><td>Scales the vector workload<\/td><td>pgvector scales with its PostgreSQL instance; TiDB scales out storage nodes<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Image retrieval shows the difference in practice. A library can find visually similar images for a demo, but a production catalog also needs stock, price, and region filters, which live in the application database. An e-commerce recommendation engine has the same shape: the similarity search is the easy part, and keeping it consistent with inventory is the hard part.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the broader comparison of vector databases against relational systems, see <a href=\"https:\/\/www.pingcap.com\/ko\/article\/vector-database-vs-traditional-database-2026-guide\/\">vector database vs traditional database<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"When_a_Specialized_Vector_Database_Makes_Sense\"><\/span><strong>When a Specialized Vector Database Makes Sense<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A standalone vector database earns its operational cost when vectors are the workload rather than one feature of it. That usually means one of these:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Your corpus has no meaningful relational data to join, such as a pure similarity service over images or audio.<\/li>\n\n\n\n<li>You need index types, quantization methods, or distance functions that your SQL database does not offer. TiDB, for example, indexes cosine and L2 distance with HNSW only.<\/li>\n\n\n\n<li>A separate team owns retrieval and wants to scale and tune it independently of the transactional database.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If none of those apply, a second database mostly adds a sync pipeline and another system to secure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_TiDB_Serves_as_a_Vector_Store_Without_a_Separate_Database\"><\/span><strong>How TiDB Serves as a Vector Store Without a Separate Database<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">TiDB acts as the vector store backend by keeping embeddings in a VECTOR column of an ordinary table, so vectors, metadata, and transactions live in one MySQL-compatible database. TiKV stores the rows; TiFlash, the columnar engine, holds the HNSW index; and TiDB scales out by adding nodes rather than by moving to a bigger instance. A retrieval query can join the nearest neighbors to any other table in the same statement.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE chunks (<br>&nbsp; id BIGINT PRIMARY KEY,<br>&nbsp; doc_id BIGINT,<br>&nbsp; content TEXT,<br>&nbsp; embedding VECTOR(3),<br>&nbsp; VECTOR INDEX idx_embedding ((VEC_COSINE_DISTANCE(embedding)))<br>);<br><br>-- Nearest chunks first, then join to document metadata<br>SELECT n.id, n.content, d.title, d.owner_team<br>FROM (<br>&nbsp; SELECT id, doc_id, content<br>&nbsp; FROM chunks<br>&nbsp; ORDER BY VEC_COSINE_DISTANCE(embedding, '&#91;0.31, 0.62, 0.18]')<br>&nbsp; LIMIT 20<br>) AS n<br>JOIN documents d ON d.id = n.doc_id<br>WHERE d.status = 'published';<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The example assumes a documents table already exists and uses three dimensions for readability. Running the KNN step in a subquery keeps the vector index in play, because a WHERE filter applied before KNN skips it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the framework side, TiDB provides official <a href=\"https:\/\/docs.pingcap.com\/ai\/vector-search-integration-overview\">LangChain and LlamaIndex integrations<\/a>, so code written against either vector store interface can point at TiDB. <a href=\"https:\/\/www.pingcap.com\/ko\/case-study\/dify-consolidates-massive-database-containers-into-one-unified-system-with-tidb\/\">Dify<\/a>, the open-source LLM application platform, uses TiDB Cloud Starter as its vector store alongside its application data and consolidated nearly half a million database containers into a single TiDB Cloud implementation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">TiDB Cloud docs currently label vector search beta or preview, and Self-Managed docs mark it experimental for v8.4.0 and later. The <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/tidb-vector-search-public-beta\/\">TiDB vector search reference<\/a> covers features, limits, and availability by tier.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"FAQ\"><\/span><strong>\uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Short answers on vector stores, vector databases, and RAG backends.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Is a vector store the same as a vector database?<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No. A vector store holds embeddings and runs similarity search.<\/li>\n\n\n\n<li>A vector database wraps a vector store with durability, indexing, filtering, and operations tooling.<\/li>\n\n\n\n<li>In LangChain and LlamaIndex, \u201cvector store\u201d also names the interface your code calls.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Can a relational database act as a vector store?<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Yes. PostgreSQL does it with the pgvector extension, and TiDB does it natively with a VECTOR type and HNSW index.<\/li>\n\n\n\n<li>The benefit is SQL filtering and joins against the rows each embedding describes.<\/li>\n\n\n\n<li>Check which distance functions and index types each database supports before you commit.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Do I need a vector database for RAG?<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Not always. RAG retrieval typically combines vector search with metadata filters and permissions.<\/li>\n\n\n\n<li>If that metadata already lives in a SQL database with vector support, one system can serve both.<\/li>\n\n\n\n<li>A standalone vector database fits when retrieval is the whole workload or needs features SQL databases lack.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Run_a_Vector_Store_and_Your_Application_Data_on_One_TiDB_Cloud_Starter_Cluster\"><\/span><strong>Run a Vector Store and Your Application Data on One TiDB Cloud Starter Cluster<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If your embeddings describe rows you already store, a SQL database with vector support can be the vector store and skip the sync job entirely. <a href=\"https:\/\/tidbcloud.com\/free-trial\/\">Start a free TiDB Cloud Starter cluster<\/a> and point your LangChain or LlamaIndex vector store at it. For more retrieval patterns, see <a href=\"https:\/\/www.pingcap.com\/ko\/ai\/vector-search\/\">vector search and RAG on TiDB<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>A RAG prototype usually starts with an in-memory vector store that lives inside the application process. When the prototype heads to production, a common next step is to add a standalone vector database next to the existing application database, plus a job that copies embeddings and metadata between the two. That second system brings its [&hellip;]<\/p>\n","protected":false},"author":305,"featured_media":0,"template":"","class_list":["post-16959","article","type-article","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Do we Really Need Specialized Vector Databases for Vector Stores?<\/title>\n<meta name=\"description\" content=\"Explore the concept of vector stores and discuss the need for vector databases. Try TiDB Serverless with MySQL &amp; Vector all in one.\" \/>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Do we Really Need Specialized Vector Databases for Vector Stores?\" \/>\n<meta property=\"og:description\" content=\"Explore the concept of vector stores and discuss the need for vector databases. Try TiDB Serverless with MySQL &amp; Vector all in one.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/article\/do-we-really-need-specialized-vector-databases-for-vector-stores\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-13T16:43:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2024\/09\/11005522\/Homepage-Ad.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"714\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data1\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/do-we-really-need-specialized-vector-databases-for-vector-stores\\\/\",\"url\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/do-we-really-need-specialized-vector-databases-for-vector-stores\\\/\",\"name\":\"Do we Really Need Specialized Vector Databases for Vector Stores?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#website\"},\"datePublished\":\"2026-10-13T16:43:31+00:00\",\"dateModified\":\"2026-10-13T16:43:32+00:00\",\"description\":\"Explore the concept of vector stores and discuss the need for vector databases. Try TiDB Serverless with MySQL & Vector all in one.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/do-we-really-need-specialized-vector-databases-for-vector-stores\\\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pingcap.com\\\/article\\\/do-we-really-need-specialized-vector-databases-for-vector-stores\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/do-we-really-need-specialized-vector-databases-for-vector-stores\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.pingcap.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Articles\",\"item\":\"https:\\\/\\\/www.pingcap.com\\\/article\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Do we Really Need Specialized Vector Databases for Vector Stores?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#website\",\"url\":\"https:\\\/\\\/www.pingcap.com\\\/\",\"name\":\"TiDB\",\"description\":\"TiDB | SQL at Scale\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.pingcap.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#organization\",\"name\":\"PingCAP\",\"url\":\"https:\\\/\\\/www.pingcap.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/static.pingcap.com\\\/files\\\/2021\\\/11\\\/pingcap-logo.png\",\"contentUrl\":\"https:\\\/\\\/static.pingcap.com\\\/files\\\/2021\\\/11\\\/pingcap-logo.png\",\"width\":811,\"height\":232,\"caption\":\"PingCAP\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/pingcap2015\",\"https:\\\/\\\/x.com\\\/PingCAP\",\"https:\\\/\\\/linkedin.com\\\/company\\\/pingcap\",\"https:\\\/\\\/youtube.com\\\/channel\\\/UCuq4puT32DzHKT5rU1IZpIA\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Do we Really Need Specialized Vector Databases for Vector Stores?","description":"Explore the concept of vector stores and discuss the need for vector databases. Try TiDB Serverless with MySQL & Vector all in one.","robots":{"index":"noindex","follow":"follow"},"og_locale":"ko_KR","og_type":"article","og_title":"Do we Really Need Specialized Vector Databases for Vector Stores?","og_description":"Explore the concept of vector stores and discuss the need for vector databases. Try TiDB Serverless with MySQL & Vector all in one.","og_url":"https:\/\/www.pingcap.com\/ko\/article\/do-we-really-need-specialized-vector-databases-for-vector-stores\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_modified_time":"2026-10-13T16:43:32+00:00","og_image":[{"width":1440,"height":714,"url":"https:\/\/static.pingcap.com\/files\/2024\/09\/11005522\/Homepage-Ad.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@PingCAP","twitter_misc":{"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/article\/do-we-really-need-specialized-vector-databases-for-vector-stores\/","url":"https:\/\/www.pingcap.com\/article\/do-we-really-need-specialized-vector-databases-for-vector-stores\/","name":"Do we Really Need Specialized Vector Databases for Vector Stores?","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"datePublished":"2026-10-13T16:43:31+00:00","dateModified":"2026-10-13T16:43:32+00:00","description":"Explore the concept of vector stores and discuss the need for vector databases. Try TiDB Serverless with MySQL & Vector all in one.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/article\/do-we-really-need-specialized-vector-databases-for-vector-stores\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/article\/do-we-really-need-specialized-vector-databases-for-vector-stores\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/article\/do-we-really-need-specialized-vector-databases-for-vector-stores\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Articles","item":"https:\/\/www.pingcap.com\/article\/"},{"@type":"ListItem","position":3,"name":"Do we Really Need Specialized Vector Databases for Vector Stores?"}]},{"@type":"WebSite","@id":"https:\/\/www.pingcap.com\/#website","url":"https:\/\/www.pingcap.com\/","name":"\ud2f0DB","description":"TiDB | SQL at Scale","publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pingcap.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.pingcap.com\/#organization","name":"PingCAP","url":"https:\/\/www.pingcap.com\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/","url":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","width":811,"height":232,"caption":"PingCAP"},"image":{"@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/pingcap2015","https:\/\/x.com\/PingCAP","https:\/\/linkedin.com\/company\/pingcap","https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA"]}]}},"card_markup":"        <a class=\"card-article\" href=\"https:\/\/www.pingcap.com\/ko\/article\/do-we-really-need-specialized-vector-databases-for-vector-stores\/\">            <h3>Do we Really Need Specialized Vector Databases for Vector Stores?<\/h3>            <p>A RAG prototype usually starts with an in-memory vector store that lives inside the application process. When the prototype heads to production, a common next step is to add a standalone vector database next to the existing application database, plus a job that copies embeddings and metadata between the two. That second system brings its [&hellip;]<\/p>        <\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/article\/16959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/users\/305"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=16959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}