向量数据库品类的兴衰:Jo Kristian Bergum(前 Vespa 首席科学家)
- 嘉宾的核心判断是,向量数据库公司可能存活,但独立的向量数据库品类不会。 如今 PostgreSQL 已通过 pgvector 提供向量搜索,Elasticsearch、Solr、Vespa 等系统也都支持;能够长期存在的抽象是搜索,向量则会退居实现细节:“我不是说这些公司会消亡,但我是说这个品类会消亡。”
- 这个品类吸引的风险资本,超过了其可能承载的市场结构。 宿主估算,约有2.3亿美元流入向量数据库,比 MongoDB 整个生命周期募集的资金还多;未经验证的消息称,Pinecone 曾快速冲到“接近1亿美元 ARR”,随后失去动能:“它们不可能全都赢。”
- 实用的 RAG 技术栈,始于干净的数据和沿用了30年的关键词基线,而不是某个专业数据库。 嘉宾建议先用 BM25,再用现成的嵌入模型做混合搜索,只有在延迟和成本可承受时才加入重排序;合理规模下 PostgreSQL 可能已经够用,但搜索质量决定业务成败的公司应考虑专用检索引擎。
- 长上下文会消除部分旧式 RAG 工作负载,但不会消除检索本身。 单份 PDF 或约300篇文章可能直接放进 Gemini 的上下文窗口,尤其在不要求高 QPS 的情况下,2023年初那套向量管线就没有必要了。但170,000份文档已经对应3600万 tokens:“你不可能为了单次查询把这些全部加载进去……”
- 嵌入仍是基础设施,但单靠余弦相似度无法实现高质量搜索。 新鲜度、权威性、元数据和重排序仍然重要;大型推荐系统会先用嵌入召回候选池,再层层筛选到可能约100个结果:“嵌入会长期存在(‘Embeddings are here to stay.’)。”
- 嘉宾认为 PostgreSQL 在中等规模下合理,但反对把模型推理塞进数据库。 他并不看好用巨型 SQL 管道完成数据转换、嵌入和重写,因为推理和存储遵循不同的扩展规律,而且他希望明确掌控成本与性能。
- 下一轮嵌入机会可能在领域专用的多模态文档检索,但经济模型仍不确定。 讨论认为 Voyage 是领域专用模型的领先者,并提到其已被 Nvidia 收购;Jina AI 也在做出色的工作,尤其是在欧洲语言方面。嘉宾希望法律、金融和医疗文档模型能够直接嵌入页面截图而无需 OCR,但 API 算力和批处理让这成为“困难的商业模式”。
1. 向量数据库还没成为持久品类,就先变成了一个功能
嘉宾将这个品类追溯到2022年11月,当时 OpenAI Cookbook 的一个示例通过嵌入把 ChatGPT 接入用户数据。他参与编写了其中的 Chroma 示例,也是天使投资人,但他说,开发者由此形成了一种“不自然的关联”:RAG 中的检索必须意味着向量。
Pinecone 随后将嵌入包装成一个新的基础设施品类:如果每个 AI 应用都需要嵌入,那么每个应用就都需要向量数据库。宿主援引未经核实的传闻称,Pinecone 曾快速冲到“接近1亿美元 ARR”(“like $100 million ARR”);嘉宾则认为其后来面向开发者的定位,是在回归初心。
Turbopuffer 带来的竞争确实重要,但更重要的是市场趋同:pgvector、Elasticsearch、Solr、Vespa 以及大量数据库都提供向量搜索。嘉宾的区分是品类层面的:“我不是说这些公司会消亡。”
宿主对风投市场的盘点显示,约2.3亿美元进入了向量数据库初创公司,超过 MongoDB 整个生命周期募集的资金。MongoDB 建立了更宽泛的 NoSQL 品类;向量数据库则“太窄”,难以以同样的方式站稳。
2. 搜索质量决定复杂度逐层增加
对于已经运行在 PostgreSQL、规模合理的工作负载,嘉宾认为 pgvector 足够可靠:它增加了 IVFFlat、HNSW、半精度和二进制向量支持。但如果搜索质量决定业务成败,就应考虑专用检索引擎。
RAG 的流程应从检查和清理数据开始,尤其是 PDF。BM25——存在了30年的“关键词匹配”——提供了强劲基线;随后加入混合嵌入搜索,最后才是在应用能够承担延迟和成本时进行重排序。
宿主提到重排序可能只增加“3%到4%”,并询问这些阶段应如何排序。嘉宾不接受一套放之四海而皆准的配方;在大规模场景中,推荐系统会从嵌入召回开始,经过多层重排序级联,直到可能只剩约100个候选。
3. 模型推理和数据库遵循不同的扩展规律
在每秒数千次查询的场景下,嘉宾会避免依赖一个远程嵌入 API,尤其是不希望它以 JSON 浮点数返回结果;他更倾向于本地、速度更快的方案。他回忆说,过去认为针对大型浮点向量、约300毫秒的接口调用尚可接受,但现在越来越倾向于认为,小规模工作负载更适合使用 API 服务。
他仍然“不看好”类似 PostgresML 的设计,即把嵌入和 LLM 推理塞进巨型 SQL 语句。存储和推理的扩展规律不同,而不透明的执行过程会削弱对成本和性能的控制;宿主也承认,数据库与外部系统之间的边界始终存在张力。
4. 长上下文淘汰过时的 RAG 演示,但不会淘汰检索
嘉宾说,读者错误地把“向量数据库品类已死”转换成了“RAG 已死”。通过检索或搜索增强 AI,在“很长时间内”仍然 relevant,即使实现方式不再依赖专用向量存储。
关键在于工作负载:1份视觉型 PDF 或300篇文章,可能直接放进 Gemini,尤其是在没有高 QPS 要求时。上下文窗口已经从4K或8K扩展到1000万,但人们仍在反复复现2023年1月初、围绕旧限制设计的演示。
嘉宾一条含义隐晦的推文称,Llama 4 将重新点燃“长上下文对决 RAG”的争论,并以“不是你想要的方式”解决它。宿主认为,“长上下文会杀死 RAG”这种一概而论的说法,本质上是在骗互动。
具体边界是170,000份文档、合计3600万 tokens——这已经多到不可能为每次查询全部加载。
5. 更好的数据构建释放图谱与文档原生嵌入
嘉宾反对 GraphRAG 的理由并不是图遍历:图数据库很擅长边遍历、随机访问以及沿边跳转。真正的瓶颈在于构建实体和关系;他“讨厌这种关联”——仿佛采用一个概念,就必须绑定某一种特定数据库技术。
GraphRAG 在某些场景下可能胜过 Vector RAG,也可能作为混合方案使用。讨论认为,LLM 或许能降低生成三元组这一过去很难的任务的门槛;至于知识图谱是否会不再是一个“脏词”,则仍然只是:“也许,也许,也许(‘Maybe, maybe, maybe.’)。”
嘉宾期待的前沿方向,是面向法律、金融和医疗文档的领域专用嵌入模型,理想情况下使用视觉语言模型骨干,在无需 OCR 的情况下嵌入截图。讨论认为 Voyage 正在引领这一方向,并提到其已被 Nvidia 收购;Jina AI 也在做“很多出色的事情”,尤其是在欧洲语言方面。但供应商必须通过 API 为推理和批处理买单,这会推动公司转向企业搜索等更高价值的上层应用。
Okay. Hi. So this is another lightning pod with Joe Christian Bergam. Is that—did I get it right? You're over in Norway.
I'm over in Norway—Trondheim, Norway, in the center of Norway.
Yes. What should people know about Trondheim?
It's a small city. It's easy to get around. There's a great technical university here. The climate sucks a little bit, but it's easy to get things done in the winter.
I've never been over. I've been to Oradev, I think, which is over near you guys.
What we're here to talk about is generally your hot takes on RAG, search, vector databases, and all that stuff. I think you've taken to publishing a lot more recently on X, and that's gone really well. I'll go into the main thing that everybody knows you for, which is your piece on “The Rise and Fall of Vector Databases.” Could you give us the background of why you felt compelled to write this?
Yeah, first of all, I think I have to go a little bit back. I have a long background in search and working on infrastructure for search. I've been in search, working on search systems for years at Yahoo and FAST Search & Transfer here in Trondheim, Norway, and also working on embeddings, neural search, and all of those things, leading up to ChatGPT—the ChatGPT moment in November 2022.
Then there was some kind of cookbook, I think, from OpenAI, where they said, “Okay, this is how you can connect ChatGPT with your data, and here are embeddings.” I think a lot of developers then got into this: this is how we can build search; this is how we can do RAG. There was this unnatural connection between retrieval in RAG and vector embeddings—that retrieval had to use vector embeddings.
By the way, I have a small role in that. I was actually the one who wrote the Chroma example in the OpenAI cookbook.
You did. Okay.
I was an angel investor in Chroma before they became a vector database, and I was just helping out. I'm actually a huge fan of Jeff and Anton from Chroma. I think Anton left, but I think they've done a great job promoting retrieval for AI and infrastructure, and they did a lot of great things. I really enjoy talking to them on X.
Anyway, then we had the whole vector database movement. I think Pinecone was one of the pioneers in framing it as a new infrastructure category: if you need to work on embeddings, you have to use a vector database. Naturally, if you want to do anything in AI, then you need to have a vector database.
That was my primary motivation for writing that piece and looking a little bit back at what happened, where we are now, and how I see it. That was the pure motivation.
The general thesis, I guess, if you want to recap it, is that it was a very fast rise and fall. Pinecone was a dominant player for a long, long time, and I don't know my exact sources because there's a lot of rumors going back and forth, but apparently they went up to around $100 million in ARR very quickly to raise a big round. Then suddenly a lot of people started leaving. It suddenly went from cool to uncool very quickly, and I don't understand why.
I don't understand that either. I think they also repositioned a little bit, going back to their core messaging. If you go to their website now, it looks more developer-focused. It's not “the memory for AI”; it's not enterprise-ish. It's more toward developers now.
I think they're trying to go back to their original roots, and I think that's good. But of course, there's been a lot of competition in the space and a lot of new companies. One of the upcoming stars is Turbopuffer, which has a kind of similar model, a little bit different pricing, and really talks to developers.
I'm not saying that the companies are dying. I'm just saying that the separate infrastructure category is dying, because you have vector search capabilities in almost any database technology nowadays. You also have them in more traditional search engines like Elasticsearch, Solr, and Vespa.
I think there's a convergence of features on both parts. Then you have things like pgvector in Postgres, and a lot of people get confused: “Okay, I already have a database that has vector search. Why do I need another database, like a vector database?”
So I think the database category is dying. There are lots of great technologies here, don't get me wrong, but I'm not saying that the companies are dying. I'm saying that the category is dying. There's a distinction, and I think a lot of people overlooked that and came at me because they had some kind of hate around some of these companies. They said, “Yeah, you know, go Pinecone,” or whatnot.
I actually want to call these new companies search engines. I want to go back to the natural abstraction, because I think that's a more natural abstraction for connecting AI with knowledge and for all the arguments around doing RAG. I think the natural concept there is search.
One of the insights I had came from using Windsurf a lot. I log into Windsurf and use its Cascade mode, and if you ask it what tools it has available, it lists 17 or 18 tools. There are tools to edit files, but there are also things like “search codebase,” “search the web,” and search tools in general.
I love the idea of connecting the reasoning model with these tools that are essentially search tools. That can help the agent or the LLM formulate the query: should I do a grep search, should I do more of a semantic search, should I do more of a keyword search, or should I just search the web? I think that's a more natural abstraction than jumping into vectors. How you represent that is more of a detail of how you implement search.
It's interesting that we fixated a lot on vectors—dense embeddings and all that—and I think now we're broadening out. I would also mention that Chroma, from the start, has always said they're going after information retrieval and not so much the narrow sense of RAG.
Broadly, I think this is the consensus: the category was never really going to last that long. There was just a brief period of time. One of my favorite early tweets in AI was from this post-ChatGPT phase, where I summed up all of the fundraising that happened in vector databases, and it was something like $230 million in total across all the vector databases.
That was more than the entire lifetime fundraising of MongoDB. Basically, they cannot all win because they've already taken more money than it supports for a single one of the de facto winner companies in NoSQL.
Interesting. I think also, with MongoDB, they brought a new category in NoSQL. Nowadays, all the other database players have also caught up, right? Now even MongoDB has relational SQL.
There's always this convergence, but MongoDB kind of sticks. I don't think Pinecone, which was originally leading that movement, will stick in the same way. It's too narrow.
It's too narrow.
But I would like to say one more thing about embeddings. People are like, “Okay, Jo, but embeddings are really important.” I also think that embeddings are really important, because you can represent more data than ever before, like multimodal data and whatnot.
You run it through your neural network, get an embedding representation, and then you can move this embedding representation around in vector space and adjust it to your domain or whatever you're doing. So it's really important.
But what happened was that it went mainstream. It went from these big tech companies like Google, Yahoo, and Facebook—all of them have been working on embeddings for a long time for a lot of different tasks—but post-ChatGPT, when we got the embedding APIs from OpenAI, it suddenly became mainstream. Every developer could start using embeddings and similarity search and so forth.
I'm not against embeddings. Embeddings are here to stay. It's just that it's not only about similarity searches in this kind of embedding space. More people realized that you actually need something more than just embeddings and cosine similarity to do search well, like freshness, authority, and all of the other signals that really play a role in web search.
I remember one of the OpenAI guys wrote, “You can embed the whole web, and then you can build the next generation of web search.” I thought, “Okay, just looking at semantic similarity isn't going to play out too well.” They're trying to sell you their model, so they're going to say those very hyped things.
The way I put it is, you're always going to want to do a hybrid query. You always want to add metadata and do all that stuff.
My question to you is maybe an age-old question: should they all be the same system? Your search system, like Elasticsearch, typically duplicates whatever your main system of record is. Then you have a search index that's almost a complete duplicate—you just copy over the documents. Do you believe in that? Do you think there's a convergence here?
This is a fantastic question. I think for a lot of use cases, if you're already using some database like Postgres, it has this great extension, pgvector.
And I know that I tweeted things about pgvector that were true at the start, around the limitations of pgvector. But there was a rally around pgvector, with new algorithms being added—actually, 2 algorithms: both IVFFlat and HNSW—along with half-precision and binary vectors. So, actually, what you can see is that pgvector is doing more in terms of vector-search capabilities than some of the real vector database players.
If you're only looking at vector-search capabilities, and you already have your data in Postgres and are operating at a reasonable scale, I think it's fair to use Postgres. If you're not operating at a really large scale, and you do some vector-search-related workloads while also using a database for other types of workloads, then it might make sense to just keep the data there. But if you're building something that really depends on search quality, and your business depends on it, then definitely consider using a real retrieval or search engine to represent the data there.
Yeah, yeah. How closely entwined are recsys and search in your mind?
With embeddings and embedding-based retrieval, there's a convergence because embedding-based retrieval has been used for a long time in recommender systems, like large-scale recommender systems such as TikTok or Yahoo News. Apparently, TikTok published their recsys recently, which is kind of interesting.
In a system that operates at a really large scale, there's always a cascade of different stages. You first have to retrieve from a candidate pool, typically using embedding-based retrieval, and then you have layers of reranking. Finally, you end up with 100 candidates or something like that that you actually present to the user.
So I think there's definitely convergence. Embedding-based retrieval is now more common for such systems, so there's convergence in how it is solved across the technology spectrum.
Yeah. Any other thoughts on the confusion for a lot of folks who are newer to this? They understand now that you cannot just have embeddings only and cosine similarity only. It's just the sequencing: What should I do first? What should I do second? What should I do third?
Everyone says reranking is super important, but it adds maybe 3% to 4% to your results, and maybe that's why it's the lowest-hanging fruit. I'm always trying to figure out what I should recommend to people: Should they start with Postgres or MongoDB as their transactional and vector store? Then they can split it out to maybe use Elasticsearch or Vespa. I don't know if that would be the recommendation there. Redis is also trying to push itself there very, very hard, and then you add the reranker. Is that a good sequence?
It's really hard to come up with general recommendations without knowing what you're doing. But if you're looking to build a RAG application, I think most people are interested in something related to RAG. When you have some data that you have to transform, I think the first thing is—does Hamel always talk about this?—look at your data.
First of all, know how to get your data in a cleaned-up way. If it's PDFs or whatnot, there are things to do there. I think a very strong baseline is the classical BM25 algorithm that's been around for 30 years. It's keyword matching, but it offers a very useful baseline for a lot of different search use cases.
Then you can start looking at using an off-the-shelf embedding model to also embed your data. Most of the engines have some kind of hybrid-search capability. Start to play with that, and then, if you can afford it both from a latency perspective and a cost perspective, you can look at adding a reranking layer on top of that.
How you stitch that together depends on your framework of choice, but you can stitch this together with multiple different APIs depending on your budget, I guess.
Yeah. I always tend to recommend that people do this offline as much as possible—benchmark offline and whatever. Most people don't need fully online systems.
Yeah, and that's a friction point because I've been used to working on constrained online systems at pretty significant scale. When everything always needs to be online and low-latency, I have problems adjusting to when you want to do things at a much lower scale.
I'll give you an example. Calling out to some kind of embedding API to get JSON floats is not something you want to do if you're running at thousands of QPS. You don't want to add that dependency. You want to have something local, something that's faster.
I've always been like, “Okay, I'm going to call out to this endpoint. It's going to take 300 milliseconds to get this large float.” It's something that I just shrug at. But now I'm shifting toward, “It's easy. It's an API-based service. You don't have to think about it; it's just there.” So it's much easier to build from, right? To have something that is API-based. I'm trying to embrace that mindset.
I see. I see. No, when I say offline, I mean more like not in the critical path—batch systems. Have you looked at PostgresML for running the models alongside the database? Are you bullish on that kind of stuff?
No, I'm not. I'm sorry, I'm not. I think we've also seen other players that try to move a lot of the logic into the database—agentic embedding inference and whatnot, LLMs. I think the right direction is to keep infrastructure a little bit separate from that because there are different scaling properties.
People can stitch those 2 things together instead of trying to do everything with one single platform. So no, I'm not bullish on that because I don't believe in the developer experience of writing these huge SQL statements for transforming data, embedding it, and then writing it back, and expressing this in the database. What does this do to my database? Is it calling out, or what's going on?
I tend to want to have more control over cost and performance and what's going on than just writing some really large SQL statement to execute it.
Yeah, it's interesting. I think there's this constant tension between what should live in the database versus what is an external system. I don't think it's clear-cut, like the classic cron service, which we have in Supabase.
Okay, cool. Any other hot takes? What are the biggest criticisms that you got after you published this? What do you agree with, and what do you disagree with?
Yeah. I think one of the things people pointed out is that, if something goes semi-viral, after a few days you discover that there's a lot of replies that you didn't see, and you're like, “Okay.” But one of the things that stood out was that people said that Jo is saying that RAG is dead because vector-database infrastructure is dead, right?
I think that was a misunderstanding as well, and I think that comes from people making the connection between RAG and vector databases. It's so strong that when I'm saying the vector-database infrastructure category is dead, people hear, “Okay, RAG is dead.”
I think RAG is definitely not dead. Augmenting AI with retrieval or search is still going to be relevant, and I think it's going to be relevant for a very long time. That was one of the things. And now we have 10-million-token models and longer context, and you have the same cycle repeat every time.
For me, I put out this cryptic tweet. I was like, “Llama 4 is going to reignite the long-context versus RAG debate, but it will actually resolve the debate—not in the way that you want.”
This is too cryptic to me.
No, it's just like there are 5 other guys saying, “Long context kills RAG,” or, “RIP RAG.” I'm just like, “Guys, you're idiots.” Or you're engagement farming, basically. Most likely, you believe they know what they're doing, and they're just saying nonsense to have fun, and people don't take them seriously.
Yeah, no, but there's a nuance to this, right? I've seen people do RAG when there's no need to do RAG. If you have 1 PDF with visual information and things, and you want to chat with that, that case is probably dead if you don't have high QPS and things like that.
I had a call with someone that had 300 articles, and I said, “This will just fit into the context window of one of these Gemini models. You don't have to have a vector database for this case.” They were so surprised when I said this: “Can you really do that?”
But look at it. We had a 4K context window, and now we have 10 million, and that's fast. People are still running their initial demos from early January 2023, where they were dealing with 4K or 8K. Some parts of that are not relevant now because we have longer context windows, but I think retrieval, of course, is going to be there for a long time.
One example I love to bring up is one of these small toy datasets from TREC-COVID: 170,000 documents, and it's already 36 million tokens. You're not going to load all of that for a single query.
Yeah. Awesome. Do you have a take on knowledge graphs and GraphRAG?
I think GraphRAG—well, I have a lot of takes around it. I think the one issue is that a graph database solves one particular problem, and it does it well: traversing the edges in the graph, random access, and jumping across. But the core issue is actually building the knowledge graph in the first place: the entities and the relationships.
If you say that graph databases or GraphRAG are going to kill Vector RAG and all that discussion, I think the first issue is to actually build the knowledge graph in the first place. If you use a search engine or a dedicated graph DB to speed up and accelerate the searches, okay, fine. But I think people are like, "Okay, if I'm going to do GraphRAG, then I need a graph database," and I hate that connection between doing something and connecting it to some specific technology.
I think a lot of people do that: you jump from some concept into some technology. You can also do graph exploration with a search engine, so you don't need a specific technology to do it. Can GraphRAG be better than Vector RAG? Yeah, for sure. In some cases, it might make sense, or hybrid, or whatnot. But I think people get caught up in some specific technology all the time.
Yeah, but I think that's okay. I'm still trying to validate the presence of knowledge graphs in LLM applications because, obviously, with LLMs, it is much easier—better—to create these entity triplets and all that. So theoretically, it should be better.
Yeah. I mean, in the past, knowledge graphs have been a dirty word, but now maybe it's not. Maybe, maybe, maybe. I think with LLMs, you can do a lot more things around data generation in general, so generating those triplets is a bottleneck. It's been a bottleneck, and now you have LLMs, so I agree. Now it could be easier to actually build what matters, which is those triplets.
Okay, awesome. Any other opportunities that you find? I know that you mentioned Jina AI. I think they're a prominent European startup in RAG. And I think over here, Voyage just got acquired by Nvidia. Do you know anything on the embedding side? Do we need a lot better embedding models? Are what we have in the big labs good enough?
I hope to see—I mean, Voyage was really leading the pack on doing domain-specific embedding models, like legal PDFs, and what I want to see is more embedding models in that direction, where you essentially represent this PDF as an embedding or multiple embeddings for the legal domain, finance, or health. I hope to see that grow so that you can have a better starting point than just those text models.
I've been a huge believer in using vision-language models as a backbone for embedding models, where you essentially take a screenshot of a page. You don't have to go through OCR, so you then get a much richer representation. You don't have to go through these complex processing pipelines. So I hope to see more innovation.
I'm not sure if it's going to happen because I think it's a difficult business model to be in: you have to have an API-based service, you have to do batching, and you have to make up for the compute. And then, are people willing to pay for it? I think maybe that's why Voyage got acquired. I think Jina AI is also doing a lot of great things in this space now, especially in European languages.
But I think every company is trying to move up in the value ladder, right? They want to move into enterprise search or move in a different direction. So, yeah, but I do hope that we will see more and better general embedding models.
Yeah. Yeah. I mean, I'm sure the Voyage guys are very happy because it seems like they got quite a lot. Okay, cool. Anything else before we wrap? Any calls to action? Any parting rants on the topics of the day?
No. If you want to connect with me, for the audience, you can find me on X. I'm under the handle Joe Bergen there. I love sharing on X. I hang out there quite often.
Yeah. I mean, it's where the AI community is, you know. Although I've always been trying to grow on LinkedIn or YouTube—I mean, there are a lot more people there. There's Twitter, sure, but it's like an echo chamber. Yeah, but it's not the same. I mean, we wouldn't have this meeting, me and you, without X there, right? So it's a great place for really high signal-to-noise, and I think the AI community there is really great.
Yeah. Awesome. Well, thank you so much for having me. This has been awesome.