2016-12-09 11 views
0

В этой статье Reading and Writing from SSTable Perspective (да, довольно старая статья) автор утверждает, что файлы indexdb и sstable разогреваются с использованием файлов с отображением памяти.Cassandra SSTable и файлы с отображением памяти

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

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

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

ответ

1

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

Поскольку результаты Cassandra 1.2 в этом процессе сохраняются в файле Partition summary.