chroma-core / chroma-core/chroma

[Feature Request]: mark database as read-only to allow parallel concurrent reads

Open
#3,783 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.