Lesson 16← back to roadmap
Open the same database as read_only from any number of processes. They take a shared flock; mutations are rejected at the API boundary.
python
replica = elips.open("/var/data/elips", read_only=True)
for hit in replica.vault("docs").seek(q, top=10):
...- One read_write opener via exclusive lock
- Many read_only openers via shared lock
- Read-only vaults reject place/erase/checkpoint with StorageError
This is the supported mode for shared-reader analytics and read-fanout serving. Writers run elsewhere; replicas pick up new segments on the next open or rotation.