在這篇文章Reading and Writing from SSTable Perspective(是啊,很老的文章)作者說,indexdb和sstable文件使用內存映射文件預熱。Cassandra SSTable和內存映射文件
每個的SSTable行密鑰存儲在單獨的文件名爲index.db, 期間開始卡桑德拉「越過這些文件」,爲了熱身。 Cassandra使用內存映射文件,所以有希望,當在啓動期間讀取文件時,那麼首先訪問這些文件將從內存中服務 。
我在CommitLogSegment中看到了MappedByteBuffer的用法,但看不到SSTable Loader/Reader。也只是將MappedByteBuffer映射到文件通道不會將文件加載到內存中,我認爲需要明確調用加載。
所以我的問題是:當Cassandra啓動時,它是如何變暖的?我在這篇文章的聲明中錯過了什麼?