-
Notifications
You must be signed in to change notification settings - Fork 331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi-tenancy #752
Comments
design considerationwe can divide spaces by two kinds: public vs private. Public spaces are accessed by lots of users and usually partitioned for performance or capacity. A private space is owned and accessed exclusively by a single user so does not needed to be partitioned. Note it is a bad idea that a private space corresponds to one raft replication state machine - too much overhead (heartbeats, goroutines, et al). And there are two solution candidates: 1, multiple private spaces are assigned to one replication group in the current shared-nothing architecture |
Goal:
|
This is a common use case for RocksDB column families. They can be created and removed on demand and they avoid adding global indexing overheads to separate column families.
RocksDB should be able to manage this transparently during regular compaction |
When building an LLM-based AI application, we need the right way to store user/tenant-specific vector data. And it is the common case that there are millions or billions of users while each user's data is not too much - say several document files, i.e., there are lots of spaces and most of them is small-sized.
Vearch needs a more efficient way to support millions of small spaces in one cluster.
The text was updated successfully, but these errors were encountered: