Vector search just got up to 10x faster and vertically scalable
pinecone.io
pinecone.io
P.S. Great work on your site, by the way - it's a really inspiring project!
At ScyllaDB we've put years of non-trivial effort into IO scheduling to optimize it for large amounts of storage. You also need to consider the type of workload. Because optimizing for reads, writes, or mixed workloads are all different beasties.
More here:
https://www.scylladb.com/2022/08/03/implementing-a-new-io-sc...
Pinecone is VC backed and they have taken in to the tune of $50M in funding. They have to claim the "first" in solving these challenging technical problem, otherwise they'd have to really explain that their "secret source" is not really ground-breaking but relying on a series of open-source components under the hood. VCs wouldn't want to be backing yet another donkey in the derby. The truth is that solutions like FAISS, ScaNN, Weaviate, Quadrant, ANNOY and co. are working on this problem on a much more fundamental level. Pinecone and Google vertex matching AI are working on it on a application level. If Pinecones's solution is truly groundbreaking, they'd publish it in a more scientifically rigorous way. So these claims are to be taken with a grain of salt for what they are: developer evangelism/marketing speak.
SIGMOD'21 - https://www.cs.purdue.edu/homes/csjgwang/pubs/SIGMOD21_Milvu... This paper talks about the vector database vertical (compute core and user-facing API)
VLDB'22 - https://arxiv.org/pdf/2206.13843.pdf This paper discusses the development of a cloud-native vector database.
Reading through them should help folks understand where the novelty and difficulty in developing an full-fledged vector database comes from.
Disclaimer: I'm a member of the Milvus community.
* fundamental performance
* practical utilization
I led a prod project that uses FAISS at a bank. A huge amount of the work was about making the index practical in a real IT environment. For example we had to build a sharding system to allow it to scale, but also to allow it to be rebuilt with 0 down time. There were many other significant engineering steps required to get it depolyed.
So, I would say that if Pinecone could solve these problems they don't need to have fundamental breakthrough performance vs the open source systems. On top of that, as every dev knows, there are a bunch of hygiene components and features that prod software wants - connectors, admin interfaces, utilities. $50m is probably a bit low to cover all of these and the marketing to be honest - but it will go a long long way and I guess that there's series B funding to get over the line if they don't sell out.
On the otherhand they must avoid over-committing to the indexing approaches of today because if someone does make an algorithmic step forward and Pinecone don't / can't take advantage then the features that they provide that enable deployment are a matter of engineering. Also, at the end of the day I think vectorDB's are going to be an important niche in the enterprise and not at the scale of data warehouses, lakes, or application DB's. I think that fitting them into the enterprise IT puzzle scape is going to be very important in making them commercially successful and good VC investments.
> With vertical scaling, pod capacities can be doubled for a live index with zero downtime. Pods are now available in different sizes — x1, x2, x4, and x8 — so you can start with the exact capacity you need and easily scale your index.
Milvus: https://github.com/milvus-io/milvus
Qdrant: https://github.com/qdrant/qdrant
Weaviate: https://github.com/semi-technologies/weaviate
Milvus seems to be the most advanced and best performing vector DB (https://www.farfetchtechblog.com/en/blog/post/powering-ai-wi...). Haven't seen Qdrant benchmarks yet but cool project nonetheless.
FWIW, these open source projects are how I got into the area of vector similarity search to begin with.
Example: I'm going to start a new company called Conifercone and do pretty much exactly what you do, but call it a "vector datastore" instead. Apparently I've now created the first ever vector datastore even though functionally I have done nothing novel.
We call Weaviate a "vector search engine" (i.e., we prefer "vector search engine" because it describes the type of database) since around Aug, 2020
Github: https://github.com/semi-technologies/weaviate/tree/a3967aff5...
The reason was simple; our community started to say that the mixed vector and scalar filter search capabilities were what they liked most.
Also, our benchmarks are available for quite some time here: https://weaviate.io/developers/weaviate/current/benchmarks/a...
They are based on ann-benchmarks.com but adjusted for full databases.
re: difference in layer of abstraction.
All the instance types hide away the price differences usually, so this is interesting to see.
Edit: also there is no free tier for Pinecone on AWS :(
[EDIT]: Forgot to mention - Milvus development began in 2018 was open sourced in 2019.