Подтвердить что ты не робот

Структура файла Cassandra - как используются файлы?

Когда я экспериментировал с Cassandra, я заметил, что Cassandra пишет в следующие файлы:

/.../cassandra/commitlog/CommitLog-<id>.log
/.../cassandra/data/Keyspace1/Standard1-1-Data.db
/.../cassandra/data/Keyspace1/Standard1-1-Filter.db
/.../cassandra/data/Keyspace1/Standard1-1-Index.db
/.../cassandra/data/system/LocationInfo-1-Data.db
/.../cassandra/data/system/LocationInfo-1-Filter.db
/.../cassandra/data/system/LocationInfo-1-Index.db
/.../cassandra/data/system/LocationInfo-2-Data.db
/.../cassandra/data/system/LocationInfo-2-Filter.db
/.../cassandra/data/system/LocationInfo-2-Index.db
/.../cassandra/data/system/LocationInfo-3-Data.db
/.../cassandra/data/system/LocationInfo-3-Filter.db
/.../cassandra/data/system/LocationInfo-3-Index.db
/.../cassandra/system.log

Общая структура выглядит следующим образом:

/.../cassandra/commitlog/CommitLog-ID.log
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Data.db
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Filter.db
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Index.db
/.../cassandra/system.log

Какова структура файла Cassandra? Более конкретно, как используются каталоги data, commitlog и какова структура файлов в каталоге data (data/Filter/Index)?

4b9b3361

Ответ 1

Запись в Cassandra node сначала попадает в CommitLog (последовательный). (Затем Cassandra хранит значения для определенных в столбцах семейств данных, называемых Memtables. Memtables сбрасываются на диск всякий раз, когда превышается один из настраиваемых пороговых значений (1, datasize в memtable 2, количество объектов достигает определенного предела, 3, срок жизни памяти заменяется.))

Папка data​​strong > содержит подпапку для каждого пространства ключей. Каждая вложенная папка содержит три типа файлов:

  • Файлы данных: SSTable (номенклатура заимствован из Google) означает Таблица отсортированных строк и является файлом пары строк ключевого значения (отсортированные по клавиши).
  • Индексный файл: (Key, offset) пары (точки в файле данных)
  • Цветной фильтр: все ключи в файле данных

Ответ 2

Подробный формат файла Cassandra

Каждый элемент ColumnFamily (например.) в разделенных sstable файлах

ColumnFamilyName-version-#-Data.db
ColumnFamilyName-version-#-Index.db
ColumnFamilyName-version-#-Filter.db

enter image description here