Файлы Cassandra SSTable и Memory сопоставлены
В этой статье " Чтение и запись из перспективы SSTable"(да, довольно старая статья) автор говорит, что файлы indexdb и sstable нагреваются с помощью файлов, отображаемых в памяти.
Ключи строк для каждого SSTable хранятся в отдельном файле index.db, во время запуска Cassandra "перебирает эти файлы", чтобы прогреться. Cassandra использует файлы, отображенные в памяти, поэтому есть надежда, что при чтении файлов во время запуска, сначала доступ к этим файлам будет осуществляться из памяти.
Я вижу использование MappedByteBuffer в CommitLogSegment, но не для SSTable Loader/Reader. Кроме того, просто сопоставление MappedByteBuffer с файловым каналом не загружает файл в память, я думаю, что load нужно явно вызывать.
Итак, мой вопрос: когда Кассандра запускается, как она нагревается? И я что-то упустил в утверждении этой статьи?