Я смог сделать это в Linux, заставив каждый процесс создать свой собственный каталог (например, $ HOME / .leveldb / myprogram_myPID) и затем выполнить:
ln -s -t $HOME/.leveldb/myprogram_myPID /path/to/dir/with/levelDBdatabase/*
rm $HOME/.leveldb/myprogram_myPID/LOCK
touch $HOME/.leveldb/myprogram_myPID/LOCK
Затем $ HOME / .leveldb/ myprogram_myPID может использоваться как база данных leveldb только для чтения, и несколько экземпляров процесса могут делать это одновременно, не копируя всю базу данных.
Вероятно, целесообразно использовать моментальный снимок для доступа к БД после этого, чтобы избежать случайной записи.Кроме того, не забудьте удалить новый каталог, когда процесс завершится.