Файлы Cassandra SSTable и Memory сопоставлены

В этой статье " Чтение и запись из перспективы SSTable"(да, довольно старая статья) автор говорит, что файлы indexdb и sstable нагреваются с помощью файлов, отображаемых в памяти.

Ключи строк для каждого SSTable хранятся в отдельном файле index.db, во время запуска Cassandra "перебирает эти файлы", чтобы прогреться. Cassandra использует файлы, отображенные в памяти, поэтому есть надежда, что при чтении файлов во время запуска, сначала доступ к этим файлам будет осуществляться из памяти.

Я вижу использование MappedByteBuffer в CommitLogSegment, но не для SSTable Loader/Reader. Кроме того, просто сопоставление MappedByteBuffer с файловым каналом не загружает файл в память, я думаю, что load нужно явно вызывать.

Итак, мой вопрос: когда Кассандра запускается, как она нагревается? И я что-то упустил в утверждении этой статьи?

1 ответ

"просмотр файлов индекса", скорее всего, относится к выборке индекса. В какой-то момент Кассандра читала файлы при запуске для целей выборки.

Начиная с Cassandra 1.2, результаты этого процесса теперь сохраняются в сводном файле разделов.

Другие вопросы по тегам