В Bitcask, когда происходит запись:
- Данные добавляются в файл
- Хеш-таблица в памяти обновляется указателем на данные.
Когда для ключа происходит чтение:
- Файл и смещение найдены из хеш-таблицы
- IO с произвольным поиском используется для полученияданные.
Эти файлы сегментируются, а затем объединяются и сжимаются для удаления устаревших данных. Как обновляется хеш-таблица после слияния, чтобы указывать на новый объединенный файл? Когда это происходит? Что происходит с запросами на чтение в этот момент?