Live data from Hacker News

Show HN: Epsilla – Open-source vector database with low query latency

github.com

11–20 of 26 posts

Re: Show HN: Epsilla – Open-source vector database with low query latency

#11
post #10

Vector databases seem to be a dime a dozen, now, as well as being built into Elasticsearch and available as Postgres extensions. As far as I know they’re all relatively undifferentiated in performance and features. Is there a viable long-term business here?

This one has more reason to exist than most vector DBs since it's not just a wrapper around hnswlib.

Re: Show HN: Epsilla – Open-source vector database with low query latency

#12
post #6

Why did you choose SpeedANN instead of other new indexes such as DiskANN? And you changed the color of epsilla in every benchmark figure, which is quite confusing

Thank you for sharing! DiskANN was published in 2019 and SpeedANN in 2022. DiskANN is specialized in disk based ANNS solution, and it's focus on the scenario where the vectors don't fit into memory. SpeedANN is in-memory solution and specialize in low latency query, which is the scenario we want to tackle for now. We can further extend our engine to support DiskANN and other index algorithms based on our customer's requirements Thanks for pointing out the benchmark figure, we just fixed it to have consistent colors

Re: Show HN: Epsilla – Open-source vector database with low query latency

#13
post #8

imho, vectorDbs need to scale horizontally. Simply running on a single host doesn't cut it anymore.

You are right. We designed our storage in a segment-based way, with configurable segment size, so it can horizontally scale in the future cross multiple workers in one machine, and cross multiple machine cluster. And the search will become a two-stage search: find top K in each segment, then a global merger (can also be horizontally scaled) to merge the results from all segments

Re: Show HN: Epsilla – Open-source vector database with low query latency

#14

Regarding the embedding vectors - is there a maximum limit to their dimensionality? Also, can you share insights into how the precision remains consistent at 99.9% even with high-dimension vectors?

For now we didn't put a limit on the dimension of the vectors, so the machine can fit as much as #vector * #dimension * sizeof(float) into memory. For now we just support dense vector, and in the future we will work on sparse vector support for much higher dimension. I think you are referring to the "Curse of dimensionality" problem. Here is my thoughts: in a graph-based index such as SpeedANN, or HNSW, each vector is treated as a node in the graph, and the index is a nearest neighbor graph. Different from spatial partition-based indices, the topology quality of the nearest neighbor graph is independent from the dimensionality of the vectors. Our benchmark is on 960 dimension vector, but we will do more experiments in sparse vectors in the future

Re: Show HN: Epsilla – Open-source vector database with low query latency

#15
post #5

I'm curious about your approach on where you draw the line for database features; I don't have a perspective on what's right, just trying to get informed. There are a bunch of possible areas to circle or ignore when making an ML-capable database of some sort. In rough order of data complexity: 1. Embeddings (context-free vectors, just an ID and the vector) 2. Metadata + Embedding (source data, JSON) 3. Binary Data +…

Thank you for the insightful topic! By reading the question itself drive me think a lot.

For the database perspective, instead of dividing the table schema into 3 parts: id, metadata, embedding, we designed in a way closer to SQL, treat vector as another data type, and let user to define any number of fields in a table. ID is just an annotation of a field (composite key might be overkilling for now). There will be another debate on whether schemaful or schemaless is the right approach, we can leave it here for now

With this foundation, we already covers 1 and 2. And in our roadmap we also plan to cover 3, with multi-modal data type support. We think the real big advantage of embedding is on unstructured data (documents, images, video, audio, etc), and storing the embedding of multi-modal data and connect them through semantic relevance will open up big opportunities. And this fits with the table and fields-based design for introducing cross table embedding index on connecting different shape data.

And from the multi-modal data perspective comes the problem where do we store those data? One way is we provide a generic binary data type that let users put anything. Another way which most enterprise will do is integrate us with a larger data warehouse/data lake system. And this opens up the requirement for us on supporting data streaming in/out with kafka connector, spark connector, etc.

And totally agree that SQLite works so well in huge amount of scenarios, now there is DuckDB. We also see some other players like LanceDB taking this approach to be Vector DB space's SQLite. We are also pretty close to announce our Python in-process package support, so docker / a separate server is not a must have anymore.

For inference, this is a broader direction for us for now. We are open to explore this space and see if the serverless architecture on cloud can provide extra efficiency benefit to the market

Re: Show HN: Epsilla – Open-source vector database with low query latency

#19
I don't see how you compete against the 50 other providers. You just implemented a speedup on the graph search (maybe credit the authors of the paper you are ripping off in your github?). However this speedup trades the overall throughput for latency. And even in the paper, its not exact.

Maybe drop the disingenuous marketing and find something else to work on. The 50 other vector dbs will implement this trivial addition and you'll be left with nothing to show.

Sources: https://arxiv.org/abs/2201.13007 https://dl.acm.org/doi/pdf/10.1145/3572848.3577527

Post reply on HN