How to Assign More Memory to Weaviate Database Process via NUMA

Hi community,

I am Decheng. I have successfully deployed Verba with a local Weaviate database on my machine. Since Weaviate runs in memory, I want to assign more memory to the Weaviate process using NUMA.

I found that llamaindex can manage vector memory, as shown in this example:

llamaindex Vector Memory Example

In this example, when vector_store is set to None, VectorMemory creates a default in-memory vector store. This means all data is stored in memory, providing fast access but using a lot of memory and not persisting data after the program ends.

I want to achieve similar memory management for Weaviate. Does this approach make sense, and can I use a similar method to assign more memory to the Weaviate process via NUMA?

Thank you!

Hi!

By default, using hnsw index, Weaviate will store your vectors in memory.

With 1.25 we introduced dynamic index. If configured your collection starts with a flat index, and when hitting a threshold, it will convert automatically to hnsw, leveraging in memory index.

Other ways of saving on memory is using PQ or, in case you have a multi tenant scenario, loading and off loading tenants on demand.

Let me know if this helps.

Thanks!