Могут ли несколько экземпляров RocksDB использовать один и тот же диапазон ключей и читать из него?
Предыдущие ответы на Stack Overflow предполагают, что однопоточный характер RocksDB означает, что ответ отрицательный, но в официальной документации FB есть страницы, подобные этой http://rocksdb.org/blog/2021/05/27/rocksdb-secondary-cache.html где несколько экземпляров, похоже, совместно используют кеш.
1) Используют ли эти экземпляры один и тот же диапазон ключей?
- Если да, то как обновления передаются от одного экземпляра БД к другому? Насколько я знаю, у RocksDB нет связи между базами данных?
1 ответ
- Экземпляры БД не имеют общего диапазона ключей.
Просто к вашему сведению. один процесс может иметь несколько экземпляров RocksDB, каждый экземпляр может иметь несколько семейств столбцов. Они не делятся пользовательскими данными. Внутри семейства столбцов в одном экземпляре совместно используются WAL (журнал упреждающей записи), манифест (информация о базе данных отслеживания), файл параметров. Экземпляры БД в одном процессе используют один и тот же Env, пул потоков, таймер и кеш.