chroma-core / chroma-core/chroma
[Feature Request]: mark database as read-only to allow parallel concurrent reads
- Dominant language
- Rust
- Stars
- 29.3k
- Forks
- 2.5k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 38
Description
### Describe the problem
The documentation says that when using in memory instance, it will lock when trying to read data from the same index concurrently.
If I can "lock"/mark that database that its intended use is read only, is there a way to enable concurrent reading?
### Describe the proposed solution
when opening a database, mark that its read-only.
This may allow to have concurrent ready.
This works well when the database files are "frozen" and will not be concurrently updated while reading from the database.
### Alternatives considered
_No response_
### Importance
nice to have
### Additional Information
_No response_
Contributor guide
No contributing guide indexed for this repository
Research direction
No implementation files or tests are named. Start by reading the documentation about concurrent reads from in-memory databases, then trace how a database is opened and how read locking is handled. Done would require a defined read-only opening option, verified concurrent reads for frozen database files, and corresponding documentation or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100