<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Engineering &amp; Deep Dives on Vchord</title>
    <link>https://vchord.pgsty.com/blog/post/</link>
    <description>Recent content in Engineering &amp; Deep Dives on Vchord</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    
    
    
      <lastBuildDate>Mon, 02 Nov 2026 19:35:19 +0800</lastBuildDate>
    
    
      <atom:link href="https://vchord.pgsty.com/blog/post/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>Scaling Vector Search to 1 Billion on PostgreSQL</title>
        <link>https://vchord.pgsty.com/blog/post/scaling-vector-search-to-1-billion-on-postgresql/</link>
        <pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/scaling-vector-search-to-1-billion-on-postgresql/</guid>
        <description>&lt;p&gt;For teams trying to run vector search at billion scale themselves, the challenge is often not raw performance, but practicality. Many solutions designed for billion-scale, low-latency vector search come with practical constraints, requiring tradeoffs that affect how easily they can be adopted.&lt;/p&gt;&#xA;&lt;p&gt;Most existing approaches fall into one of a few categories:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Operationally complex&lt;/strong&gt;: Powered by multi-node distributed system that are difficult to manage, operate, and maintain over time.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Build-time prohibitive&lt;/strong&gt;: Requiring long index build times, which makes re-indexing costly and easily impacts production workloads.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Memory heavy&lt;/strong&gt;: Depending on up to 1 TB of memory on a single machine, making the hardware significantly less affordable for most teams.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>How We Made 100M Vector Indexing in 20 Minutes Possible on PostgreSQL</title>
        <link>https://vchord.pgsty.com/blog/post/how-we-made-100m-vector-indexing-in-20-minutes-possible-on-postgresql/</link>
        <pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/how-we-made-100m-vector-indexing-in-20-minutes-possible-on-postgresql/</guid>
        <description>&lt;h2 id=&#34;1-introduction&#34;&gt;1. Introduction&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;In the past few months, we’ve heard consistent feedback from users and partners: while our goal of providing a scalable, high-performance alternative to pgvector is well-received, index build time and memory usage remain major concerns at billion-scale.&lt;/p&gt;&#xA;&lt;p&gt;Now VectorChord can index 100 million 768-dimensional vectors in 20 minutes on a 16 vCPU machine with just 12 GB of memory. By contrast, indexing the same data with pgvector requires around 200 GB of memory and about 40 hours on a 16-core instance. And pgvector with insufficient memory often suffer from page swapping, making builds even slower.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Bringing Search‑Engine Ranking to PostgreSQL with VectorChord‑BM25</title>
        <link>https://vchord.pgsty.com/blog/post/bringing-searchengine-ranking-to-postgresql-with-vectorchordbm25/</link>
        <pubDate>Tue, 12 Aug 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/bringing-searchengine-ranking-to-postgresql-with-vectorchordbm25/</guid>
        <description>&lt;p&gt;Modern applications rely on PostgreSQL for its fully ACID‑compliant, expressive SQL, and rich ecosystem of extensions. The database handles relational workloads exceptionally well, but many projects also need to search for large text collections—product descriptions, support tickets, documentation—and present the most relevant rows first. PostgreSQL’s native tools offer a foundation for this, yet their default ranking logic can leave ideal matches buried under less useful results. VectorChord‑BM25 changes that equation by introducing the BM25 relevance‑scoring algorithm directly into PostgreSQL.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Optimize RAG with Contextual Retrieval in PostgreSQL</title>
        <link>https://vchord.pgsty.com/blog/post/optimize-rag-with-contextual-retrieval-in-postgresql/</link>
        <pubDate>Fri, 30 May 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/optimize-rag-with-contextual-retrieval-in-postgresql/</guid>
        <description>&lt;p&gt;In the standard approach to Retrieval Augmented Generation (RAG), a common practice is to break down large documents into smaller, more manageable chunks. This is primarily done to improve the efficiency of the retrieval process, leveraging the sentence embedding and keyword bm25 scoring, allowing systems to quickly find and pull relevant pieces of information. While effective in many scenarios, this method can introduce a significant challenge: the potential for individual chunks to lose their surrounding context.&lt;/p&gt;</description>
      </item>
    <item>
        <title>VectorChord: Cost-Efficient Upload &amp; Search of 400 Million Vectors on AWS</title>
        <link>https://vchord.pgsty.com/blog/post/vectorchord-cost-efficient-upload-and-search-of-400-million-vectors-on-aws/</link>
        <pubDate>Fri, 30 May 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/vectorchord-cost-efficient-upload-and-search-of-400-million-vectors-on-aws/</guid>
        <description>&lt;p&gt;In this article, we will describe one method for uploading, indexing, and searching a big dataset of vector data in a cost-efficient manner using the real-world &lt;a href=&#34;https://laion.ai/blog/laion-400-open-dataset/&#34;&gt;LAION-400M&lt;/a&gt; dataset and the VectorChord extension in PostgreSQL.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;re attempting to show you what kind of hardware setup you need to allow you to search through this vast dataset using VectorChord. We want to make sure that you have a good experience with a search that is both accurate and fast.&lt;/p&gt;</description>
      </item>
    <item>
        <title>All-in-one VectorChord Suite: Building Production-Ready RAG Solutions Directly in PostgreSQL</title>
        <link>https://vchord.pgsty.com/blog/post/all-in-one-vectorchord-suite-building-production-ready-rag-solutions-directly-in-postgresql/</link>
        <pubDate>Tue, 29 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/all-in-one-vectorchord-suite-building-production-ready-rag-solutions-directly-in-postgresql/</guid>
        <description>&lt;p&gt;Retrieval-Augmented Generation (RAG) is revolutionizing our interaction with vast datasets and language models. RAG systems offer more precise, contextually aware, and current answers by retrieving pertinent information before generating responses. Nonetheless, constructing robust, scalable, and efficient RAG pipelines poses considerable challenges, particularly for production use.&lt;/p&gt;&#xA;&lt;p&gt;Many solutions feature complex architectures, using distinct databases for vector search, keyword search, and primary data storage. This commonly results in data synchronization challenges, greater infrastructure complexity, and higher operational costs.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Introducing Vechord: Turn PostgreSQL into your search engine in a Pythonic way.</title>
        <link>https://vchord.pgsty.com/blog/post/introducing-vechord-turn-postgresql-into-your-search-engine-in-a-pythonic-way/</link>
        <pubDate>Wed, 23 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/introducing-vechord-turn-postgresql-into-your-search-engine-in-a-pythonic-way/</guid>
        <description>&lt;p&gt;Today, we&amp;rsquo;re thrilled to announce the release of &lt;a href=&#34;https://github.com/tensorchord/vechord&#34;&gt;&lt;strong&gt;Vechord&lt;/strong&gt;&lt;/a&gt;, a new Python library designed to dramatically simplify building robust search infrastructure directly on top of the PostgreSQL database.&lt;/p&gt;&#xA;&lt;p&gt;In the rapidly evolving world of AI and large language models (LLMs), Retrieval-Augmented Generation (RAG) and semantic search have become crucial components. However, setting up the necessary vector search infrastructure often involves learning new database technologies, managing complex integrations, or wrestling with intricate frameworks. This adds friction and slows down development, especially for teams already comfortable with PostgreSQL.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Beyond Text: Unlock OCR-Free RAG in PostgreSQL with Modal &amp; VectorChord</title>
        <link>https://vchord.pgsty.com/blog/post/beyond-text-unlock-ocr-free-rag-in-postgresql-with-modal-and-vectorchord/</link>
        <pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/beyond-text-unlock-ocr-free-rag-in-postgresql-with-modal-and-vectorchord/</guid>
        <description>&lt;p&gt;Building effective Retrieval-Augmented Generation (RAG) systems for documents often feels like wrestling with messy, complex pipelines. Especially when dealing with PDFs or scanned images, traditional methods rely heavily on Optical Character Recognition (OCR) and layout analysis. These steps can be slow, error-prone, and often lose crucial visual context like tables, figures, and formatting. &lt;strong&gt;But what if you could query documents based on &lt;em&gt;how they look&lt;/em&gt;, not just the extracted text?&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>3 Billion Vectors in PostgreSQL to Protect the Earth</title>
        <link>https://vchord.pgsty.com/blog/post/3-billion-vectors-in-postgresql-to-protect-the-earth/</link>
        <pubDate>Tue, 08 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/3-billion-vectors-in-postgresql-to-protect-the-earth/</guid>
        <description>&lt;p&gt;Monitoring the health of our planet is one of the most critical challenges of our time. Our planet faces immense environmental pressures, and understanding these changes requires sifting through an unimaginable amount of satellite data – petabytes of pixels captured constantly. From tracking deforestation in the Amazon to identifying illegal mining operations in remote regions or monitoring agricultural impacts on sensitive ecosystems, turning this data into actionable intelligence is paramount.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Vector Search Over PostgreSQL: A Comparative Analysis of Memory and Disk Solutions</title>
        <link>https://vchord.pgsty.com/blog/post/vector-search-over-postgresql-a-comparative-analysis-of-memory-and-disk-solutions/</link>
        <pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/vector-search-over-postgresql-a-comparative-analysis-of-memory-and-disk-solutions/</guid>
        <description>&lt;h2 id=&#34;introduction-real-world-challenges&#34;&gt;Introduction: real-world challenges&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Specialized vector databases aren’t always needed. With PostgreSQL extensions like &lt;a href=&#34;https://github.com/pgvector/pgvector&#34;&gt;pgvector&lt;/a&gt;, &lt;a href=&#34;https://github.com/timescale/pgvectorscale&#34;&gt;pgvectorscale&lt;/a&gt;, &lt;a href=&#34;https://github.com/tensorchord/VectorChord&#34;&gt;VectorChord&lt;/a&gt; (which evolved from &lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;pgvecto.rs&lt;/a&gt;)****, you get vector search &lt;em&gt;plus&lt;/em&gt; relational power—no extra infrastructure. But adoption isn’t seamless. Here’s what real users say:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;The query &lt;strong&gt;takes 30 seconds&lt;/strong&gt; for the first time and 100ms if it&amp;rsquo;s a repeat query. The problem is very slow IO.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Is it normal to take 3 hours to build the index for 12 million rows with 75 dimension vector?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;After 13 hours of building index for 200 million vectors of 75 dimensions each, I have noticed a heavy memory usage at 100GB/124GB at 30% of building index, and server will eventually crash.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;We&amp;rsquo;re hitting some challenges, particularly around need for frequent index updates, throughput constraints, lack of parallel index scans and no built-in quantization.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;</description>
      </item>
    <item>
        <title>PostgreSQL Full-Text Search: Fast When Done Right (Debunking the Slow Myth)</title>
        <link>https://vchord.pgsty.com/blog/post/postgresql-full-text-search-fast-when-done-right-debunking-the-slow-myth/</link>
        <pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/postgresql-full-text-search-fast-when-done-right-debunking-the-slow-myth/</guid>
        <description>&lt;p&gt;You might have come across discussions or blog posts suggesting that PostgreSQL&amp;rsquo;s built-in full-text search (FTS) struggles with performance compared to dedicated search engines or specialized extensions. A notable recent example comes from &lt;strong&gt;Neon&amp;rsquo;s blog post, &amp;ldquo;Performance Benchmark: pg_search on Neon&amp;rdquo;&lt;/strong&gt; (&lt;a href=&#34;https://neon.tech/blog/pgsearch-on-neon&#34;&gt;link&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;In their benchmark, Neon compared query performance on their database platform &lt;em&gt;with&lt;/em&gt; their &lt;code&gt;pg_search&lt;/code&gt; extension (based on Rust&amp;rsquo;s Tantivy library via &lt;code&gt;pgrx&lt;/code&gt;) against the Postgres built-in fulltext search setting with tsvector and GIN index. They commendably stated they optimized this standard setup by adding GIN indexes where appropriate (benchmark code available &lt;a href=&#34;https://github.com/paradedb/paradedb/tree/dev/benchmarks&#34;&gt;here&lt;/a&gt;).&lt;/p&gt;</description>
      </item>
    <item>
        <title>VectorChord-BM25: Introducing pg_tokenizer—A Standalone, Multilingual Tokenizer for Advanced Search</title>
        <link>https://vchord.pgsty.com/blog/post/vectorchord-bm25-introducing-pgtokenizera-standalone-multilingual-tokenizer-for-advanced-search/</link>
        <pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/vectorchord-bm25-introducing-pgtokenizera-standalone-multilingual-tokenizer-for-advanced-search/</guid>
        <description>&lt;p&gt;We&amp;rsquo;re excited to announce the release of &lt;strong&gt;VectorChord-BM25 version 0.2&lt;/strong&gt;, our PostgreSQL extension designed to bring advanced BM25-based full-text search ranking capabilities directly into your database!&lt;/p&gt;&#xA;&lt;p&gt;VectorChord-BM25 allows you to leverage the power of the BM25 algorithm, a standard in information retrieval, without needing external search engines. This release marks a significant step forward, focusing heavily on enhancing the core text processing component: &lt;strong&gt;tokenization&lt;/strong&gt;, unlocking greater flexibility and &lt;strong&gt;significantly improved multilingual support&lt;/strong&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Hybrid search with Postgres Native BM25 and VectorChord</title>
        <link>https://vchord.pgsty.com/blog/post/hybrid-search-with-postgres-native-bm25-and-vectorchord/</link>
        <pubDate>Thu, 13 Mar 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/hybrid-search-with-postgres-native-bm25-and-vectorchord/</guid>
        <description>&lt;p&gt;In the era of RAG (Retrieval-Augmented Generation), efficiently retrieving relevant data from vast datasets is crucial for businesses and developers. Traditional keyword-based retrieval methods, such as those utilizing &lt;strong&gt;BM25&lt;/strong&gt; as a scoring mechanism, excel in ranking documents based on term frequency and exact keyword matches. This makes them highly effective for structured queries and keyword-heavy content. However, they struggle with understanding synonyms, contextual nuances, and semantic intent. Conversely, vector-based retrieval captures deep semantic meaning, enabling better generalization across varied queries but sometimes sacrificing precision in exact keyword matches. Hybrid Search bridges this gap by combining BM25’s precision with vector search’s contextual understanding, delivering faster, more accurate, and semantically aware results.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Vector Search at 10,000 QPS in PostgreSQL with VectorChord</title>
        <link>https://vchord.pgsty.com/blog/post/vector-search-at-10000-qps-in-postgresql-with-vectorchord/</link>
        <pubDate>Thu, 27 Feb 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/vector-search-at-10000-qps-in-postgresql-with-vectorchord/</guid>
        <description>&lt;p&gt;VectorChord is a PostgreSQL extension designed for scalable, high-performance, and disk-efficient vector similarity search, and serves as the successor to &lt;a href=&#34;https://github.com/tensorchord/pgvecto.rs&#34;&gt;pgvecto.rs&lt;/a&gt;. In our previous &lt;a href=&#34;https://vchord.pgsty.com/blog/post/vectorchord-store-400k-vectors-for-1-in-postgresql/&#34;&gt;blog post&lt;/a&gt;, we showed that with just $250 per month, VectorChord achieved 131 QPS with 0.95 precision on 100 million vectors—demonstrating impressive cost-effective performance for large-scale vector search.&lt;/p&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1733194599461/eb1cf21d-4eb0-4427-8b39-bbb96d125182.png?auto=compress,format&amp;amp;format=webp&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;p&gt;Building on that success, this post focuses on high performance by exploring how VectorChord can &lt;strong&gt;reach 10,000 QPS in PostgreSQL&lt;/strong&gt;. We’ll walk you through how PostgreSQL’s reliable relational foundation integrates with advanced vector indexing to deliver fast, scalable search capabilities, and provide a production-ready setup along with a detailed architecture guide for managing large-scale vector computations even under heavy loads.&lt;/p&gt;</description>
      </item>
    <item>
        <title>VectorChord-BM25: Revolutionize PostgreSQL Search with BM25 Ranking — 3x Faster Than ElasticSearch</title>
        <link>https://vchord.pgsty.com/blog/post/vectorchord-bm25-revolutionize-postgresql-search-with-bm25-ranking-3x-faster-than-elasticsearch/</link>
        <pubDate>Mon, 24 Feb 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/vectorchord-bm25-revolutionize-postgresql-search-with-bm25-ranking-3x-faster-than-elasticsearch/</guid>
        <description>&lt;p&gt;We’re excited to share something special with you: &lt;strong&gt;VectorChord-BM25&lt;/strong&gt;, a new extension designed to make PostgreSQL’s full-text search even better. Whether you’re building a small app or managing a large-scale system, this tool brings advanced BM25 scoring and ranking right into PostgreSQL, making your searches smarter and faster.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;what-s-new&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;whats-new&#34;&gt;&lt;strong&gt;What’s New?&lt;/strong&gt;&#xA;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;BM25 Scoring &amp;amp; Ranking&lt;/strong&gt;: Get more precise and relevant search results with BM25, helping you find what matters most.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Optimized Indexing&lt;/strong&gt;: Thanks to the Block WeakAnd algorithm, searches are quicker and more efficient, even with large datasets.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Enhanced Tokenization&lt;/strong&gt;: Improved stemming and stop word handling mean better accuracy and smoother performance.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item>
    <item>
        <title>Do we really need a specialized vector database? (2023)</title>
        <link>https://vchord.pgsty.com/blog/post/do-we-really-need-a-specialized-vector-database-2023/</link>
        <pubDate>Tue, 18 Feb 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/do-we-really-need-a-specialized-vector-database-2023/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Notice: This article, originally published in 2023, discusses the relevance and necessity of specialized vector databases, particularly in relation to Postgres and its capabilities. For further insights and discussions on this topic, please refer to the following link: &lt;a href=&#34;https://news.ycombinator.com/item?id=37097004&#34;&gt;Do we really need a specialized vector database? | Hacker News&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;With the popularity of LLM (Large Language Model), vector databases have also become a hot topic. With just a few lines of simple Python code, a vector database can act as a cheap but highly effective &amp;ldquo;external brain&amp;rdquo; for your LLM. But do we really need a specialized vector database?&lt;/p&gt;</description>
      </item>
    <item>
        <title>Supercharge vector search with ColBERT rerank in PostgreSQL</title>
        <link>https://vchord.pgsty.com/blog/post/supercharge-vector-search-with-colbert-rerank-in-postgresql/</link>
        <pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/supercharge-vector-search-with-colbert-rerank-in-postgresql/</guid>
        <description>&lt;p&gt;Traditional vector search methods typically employ sentence embeddings to locate similar content. However, generating sentence embeddings through pooling token embeddings can potentially sacrifice fine-grained details present at the token level. &lt;a href=&#34;https://github.com/stanford-futuredata/ColBERT&#34;&gt;ColBERT&lt;/a&gt; overcomes this by representing text as token-level multi-vectors rather than a single, aggregated vector. This approach, leveraging contextual late interaction at the token level, allows ColBERT to retain more nuanced information and improve search accuracy compared to methods relying solely on sentence embeddings.&lt;/p&gt;</description>
      </item>
    <item>
        <title>ARM &#43; VectorChord: Affordable, Fast Vector Search</title>
        <link>https://vchord.pgsty.com/blog/post/arm-vectorchord-affordable-fast-vector-search/</link>
        <pubDate>Tue, 21 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/arm-vectorchord-affordable-fast-vector-search/</guid>
        <description>&lt;p&gt;ARM64 is quietly becoming a go-to for cost-effective cloud servers, especially on AWS. With ARM-based processors like the Graviton series (Graviton3 and Graviton4), you can save a good chunk of money without sacrificing performance. These ARM64 instances are way more affordable than traditional x86 ones, making them a solid choice for balancing cost and performance in the cloud.&lt;/p&gt;&#xA;&lt;p&gt;That said, ARM’s architecture differs from x86, so software that isn’t optimized for it might run slower due to emulation. This is where &lt;strong&gt;VectorChord&lt;/strong&gt; steps in—a PostgreSQL extension designed for scalable, high-performance, and disk-efficient vector similarity search. As the successor to &lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;pgvecto.rs&lt;/a&gt;, VectorChord lets you store a whopping &lt;strong&gt;400,000 vectors for just $1&lt;/strong&gt;, delivering massive savings: &lt;strong&gt;6x more vectors&lt;/strong&gt; than Pinecone&amp;rsquo;s optimized storage and &lt;strong&gt;26x more&lt;/strong&gt; than pgvector / &lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;pgvecto.rs&lt;/a&gt; for the same price.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Why HNSW is Not the Answer</title>
        <link>https://vchord.pgsty.com/blog/post/why-hnsw-is-not-the-answer/</link>
        <pubDate>Wed, 18 Dec 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/why-hnsw-is-not-the-answer/</guid>
        <description>&lt;p&gt;HNSW (Hierarchical Navigable Small World) has become the go-to algorithm for many vector databases. Its multi-layered graph structure and ability to efficiently navigate vector embeddings make it particularly appealing. However, despite its apparent advantages, HNSW may not be the optimal solution for large-scale and dynamic vector similarity search. In this blog post, we challenge the dominance of HNSW and explore why disk-based alternatives, such as IVF (Inverted File Index), might be more practical for massive datasets.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Benefits and Steps of External Centroids Building in VectorChord</title>
        <link>https://vchord.pgsty.com/blog/post/benefits-and-steps-of-external-centroids-building-in-vectorchord/</link>
        <pubDate>Tue, 10 Dec 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/benefits-and-steps-of-external-centroids-building-in-vectorchord/</guid>
        <description>&lt;p&gt;Clustering is an important component in vector search, and the k-means algorithm remains one of the most widely used techniques. However, its simplicity comes with a significant drawback: resource-intensive computation can render it impractical for large datasets. This blog explores why this challenge arises and how leveraging external builds to overcome it. We also share insights into our approach to implementing this solution.&lt;/p&gt;&#xA;&lt;h3 id=&#34;why-we-need-it&#34;&gt;Why we need it&#xA;&lt;/h3&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1733711948118/a8ca38d3-580f-4f20-90b9-03c826289a7c.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;p&gt;VectorChord uses IVF + RaBitQ to perform vector search. The quality of the IVF cluster can heavily affect search precision and speed. K-means usually takes dozens of rounds before convergence. For each round, all the sampled vectors need to be assigned to the nearest cluster. This is the most computationally intensive part. The good news is that this process can be easily parallelized.&lt;/p&gt;</description>
      </item>
    <item>
        <title>VectorChord: Store 400k Vectors for $1 in PostgreSQL</title>
        <link>https://vchord.pgsty.com/blog/post/vectorchord-store-400k-vectors-for-1-in-postgresql/</link>
        <pubDate>Thu, 05 Dec 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/vectorchord-store-400k-vectors-for-1-in-postgresql/</guid>
        <description>&lt;p&gt;We’re pleased to announce our new vector search extension for PostgreSQL, providing a highly cost-effective way to manage large vectors. Using &lt;a href=&#34;https://github.com/tensorchord/VectorChord&#34;&gt;VectorChord&lt;/a&gt;, you can achieve a QPS of 131 with 0.95 precision on 100 million 768-dimensional vectors for the top 10 queries. This setup costs only $250 monthly and can be hosted on a single machine.&lt;/p&gt;&#xA;&lt;p&gt;This means you can &lt;strong&gt;store 400k vectors for only $1&lt;/strong&gt;, allowing you to save significantly: 6x more vectors compared to Pinecone (storage optimized instance) and 26x more than pgvector/pgvecto.rs for the same price.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Introducing PGVecto.rs Cloud - Scalable Vector Search in PostgreSQL, Now in the Cloud</title>
        <link>https://vchord.pgsty.com/blog/post/introducing-pgvectors-cloud-scalable-vector-search-in-postgresql-now-in-the-cloud/</link>
        <pubDate>Fri, 02 Aug 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/introducing-pgvectors-cloud-scalable-vector-search-in-postgresql-now-in-the-cloud/</guid>
        <description>&lt;p&gt;In an exciting development, we are thrilled to announce the launch of &lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;PGVecto.rs&lt;/a&gt; Cloud - bringing the power of scalable vector search to your PostgreSQL databases, now available as a fully managed cloud service.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;PGVecto.rs&lt;/a&gt; is a pioneering Postgres extension that enables high-performance vector search, empowering developers to build advanced similarity-based applications on top of their existing Postgres infrastructure. With &lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;PGVecto.rs&lt;/a&gt; Cloud, you can now unlock the benefits of this transformative technology without the overhead of managing the extension yourself.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Introducing Terraform Support for PGVecto.rs Cloud</title>
        <link>https://vchord.pgsty.com/blog/post/introducing-terraform-support-for-pgvectors-cloud/</link>
        <pubDate>Wed, 24 Jul 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/introducing-terraform-support-for-pgvectors-cloud/</guid>
        <description>&lt;p&gt;We are thrilled to announce the release of our &lt;a href=&#34;https://registry.terraform.io/providers/tensorchord/pgvecto-rs-cloud/latest&#34;&gt;Terraform provider for PGVecto.rs Cloud&lt;/a&gt;. This new provider is designed to simplify the process of managing resources on our &lt;a href=&#34;https://vchord.pgsty.com/cloud/&#34;&gt;cloud service&lt;/a&gt;, providing users with an intuitive and streamlined experience for managing their Postgres cluster setup and operation through infrastructure as a code tool — &lt;strong&gt;Terraform&lt;/strong&gt;. For those unfamiliar with &lt;a href=&#34;https://www.terraform.io/&#34;&gt;Terraform&lt;/a&gt;, it is an open-source tool for building, changing, and versioning infrastructure safely and efficiently. It enables users to define their infrastructure as code, allowing them to provision and manage resources programmatically.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Unleash the power of sparse vector</title>
        <link>https://vchord.pgsty.com/blog/post/unleash-the-power-of-sparse-vector/</link>
        <pubDate>Fri, 05 Jul 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/unleash-the-power-of-sparse-vector/</guid>
        <description>&lt;p&gt;In the past, hybrid search combined two search methods: traditional keyword-based search and vector-based similarity search. However, sparse vector can act as a substitute for keyword search, unlocking the full potential of the data pipeline with pure vector search.&lt;/p&gt;&#xA;&lt;p&gt;This post explores how to use how &lt;a href=&#34;https://github.com/FlagOpen/FlagEmbedding/tree/master/FlagEmbedding/BGE_M3&#34;&gt;BGE-M3&lt;/a&gt; and &lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;pgvecto.rs&lt;/a&gt; to exploit the potential of hybrid search using both sparse and dense vectors.&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s dive in.&lt;/p&gt;&#xA;&lt;h2 id=&#34;an-overview-of-sparse-and-dense-vector-embedding&#34;&gt;An Overview of Sparse and Dense Vector Embedding&#xA;&lt;/h2&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1711958357065/ef840509-b58c-4476-9f6d-9d6c698a86a7.png&#34; alt=&#34;Sparse Vector VS Dense Vector&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;p&gt;Sparse vectors are high-dimensional vectors that contain few non-zero values. They are suitable for traditional information retrieval use cases. For example, a vector with 32,000 dimensions but only 2 non-zero elements is a typical sparse vector.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pg_bestmatch.rs: Elevate Your PostgreSQL Text Queries with BM25</title>
        <link>https://vchord.pgsty.com/blog/post/pgbestmatchrs-elevate-your-postgresql-text-queries-with-bm25/</link>
        <pubDate>Fri, 14 Jun 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/pgbestmatchrs-elevate-your-postgresql-text-queries-with-bm25/</guid>
        <description>&lt;div class=&#34;td-callout td-callout--tip&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-lightbulb&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;Tip&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;Update: Check our latest extension VectorChord-BM25 for end2end BM25 ranking in PostgreSQL. Read more at &lt;a href=&#34;https://vchord.pgsty.com/blog/post/vectorchord-bm25-revolutionize-postgresql-search-with-bm25-ranking-3x-faster-than-elasticsearch/&#34;&gt;https://vchord.pgsty.com/blog/post/vectorchord-bm25-revolutionize-postgresql-search-with-bm25-ranking-3x-faster-than-elasticsearch/&lt;/a&gt;&lt;/p&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;%[https://github.com/tensorchord/VectorChord-bm25]&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;re excited to announce the release of &lt;a href=&#34;https://github.com/tensorchord/pg_bestmatch.rs&#34;&gt;&lt;strong&gt;pg_bestmatch.rs&lt;/strong&gt;&lt;/a&gt;, a PostgreSQL extension that brings the power of Best Matching 25 Score (BM25) text queries to your database, enhancing your ability to perform efficient and accurate text retrieval. This extension allows users to generate BM25 statistic sparse vectors from text, leveraging the proven performance of BM25 in various benchmark tasks.&lt;/p&gt;</description>
      </item>
    <item>
        <title>My binary vector search is better than your FP32 vectors</title>
        <link>https://vchord.pgsty.com/blog/post/my-binary-vector-search-is-better-than-your-fp32-vectors/</link>
        <pubDate>Fri, 22 Mar 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/my-binary-vector-search-is-better-than-your-fp32-vectors/</guid>
        <description>&lt;p&gt;Within the field of vector search, an intriguing development has arisen: binary vector search. This approach shows promise in tackling the long-standing issue of memory consumption by achieving a remarkable 30x reduction. However, a critical aspect that sparks debate is its effect on accuracy.&lt;/p&gt;&#xA;&lt;p&gt;We believe that using binary vector search, along with specific optimization techniques, can maintain similar accuracy. To provide clarity on this subject, we showcase a series of experiments that will demonstrate the effects and implications of this approach.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pgvector vs. pgvecto.rs in 2024: A Comprehensive Comparison for Vector Search in PostgreSQL</title>
        <link>https://vchord.pgsty.com/blog/post/pgvector-vs-pgvectors-in-2024-a-comprehensive-comparison-for-vector-search-in-postgresql/</link>
        <pubDate>Tue, 19 Mar 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/pgvector-vs-pgvectors-in-2024-a-comprehensive-comparison-for-vector-search-in-postgresql/</guid>
        <description>&lt;p&gt;pgvector and &lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;pgvecto.rs&lt;/a&gt; are both vector search extensions designed to enhance the capabilities of PostgreSQL. These extensions revolutionize the way vector search is performed within the database, providing scalable, low-latency, and hybrid-enabled solutions. In this blog post, we will illustrate the differences between pgvector and &lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;pgvecto.rs&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;TL; DR: Please navigate directly to the final section that contains a table showcasing the main distinctions between the two.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;Search&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;search&#34;&gt;Search&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Search is essential for a database. It plays a pivotal role in facilitating efficient data retrieval, enabling users to quickly find and access the information they need. We will demonstrate their performance and highlight the various features &lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;pgvecto.rs&lt;/a&gt; and pgvector offer.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Building LLM Applications in LangChain using  pgvecto.rs</title>
        <link>https://vchord.pgsty.com/blog/post/building-llm-applications-in-langchain-using-pgvectors/</link>
        <pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/building-llm-applications-in-langchain-using-pgvectors/</guid>
        <description>&lt;p&gt;&lt;strong&gt;LangChain&lt;/strong&gt; is a framework for developing applications powered by language models. It enables applications that:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Are context-aware&lt;/strong&gt;: connect a language model to sources of context (prompt instructions, few shot examples, content to ground its response in, etc.)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Reason&lt;/strong&gt;: rely on a language model to reason (about how to answer based on provided context, what actions to take, etc.)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;pgvecto.rs&lt;/a&gt; is a vector search extension in Postgres. In this blog post, we&amp;rsquo;ll show you how to build LLM applications with LangChain and pgvecto.rs.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Building the RAG pipeline with LlamaIndex and pgvecto.rs</title>
        <link>https://vchord.pgsty.com/blog/post/building-the-rag-pipeline-with-llamaindex-and-pgvectors/</link>
        <pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/building-the-rag-pipeline-with-llamaindex-and-pgvectors/</guid>
        <description>&lt;p&gt;LlamaIndex is a simple, flexible data framework for connecting custom data sources to large language models (LLMs).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://vchord.pgsty.com/pgvecto-rs/&#34;&gt;&lt;code&gt;pgvecto.rs&lt;/code&gt;&lt;/a&gt; provides a LlamaIndex integration that allows you to retrieve the most similar vectors. In this blog post, we will show you how to build a RAG pipeline with pgvecto.rs and LlamaIndex.&lt;/p&gt;&#xA;&lt;h2 id=&#34;install-dependencies&#34;&gt;&lt;strong&gt;Install dependencies&lt;/strong&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Some dependencies are required to use the LlamaIndex integration:&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-03663433-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-03663433-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install llama-index &lt;span class=&#34;s2&#34;&gt;&amp;#34;pgvecto_rs[sdk]&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;You could start the Postgres instance with &lt;code&gt;pgvecto.rs&lt;/code&gt; extension in a docker container:&lt;/p&gt;</description>
      </item>
    <item>
        <title>Do we really need a specialized vector database?</title>
        <link>https://vchord.pgsty.com/blog/post/do-we-really-need-a-specialized-vector-database/</link>
        <pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate>
        
        <guid>https://vchord.pgsty.com/blog/post/do-we-really-need-a-specialized-vector-database/</guid>
        <description>&lt;p&gt;With the popularity of LLM (Large Language Model), vector databases have also become a hot topic. With just a few lines of simple Python code, a vector database can act as a cheap but highly effective &amp;ldquo;external brain&amp;rdquo; for your LLM. But do we really need a specialized vector database?&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-does-llm-need-vector-search&#34;&gt;&lt;strong&gt;Why does LLM need vector search?&lt;/strong&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;First, let me briefly introduce why LLM needs to use vector search technology. Vector search is a problem that has been around for a long time. The process of finding the most similar object in a collection given an object is vector search. Text/images, etc. can be converted into a vector representation, and the similarity problem of text/images can be transformed into a vector similarity problem.&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
