Соглашение об имени файла данных Кассандры - PullRequest
7 голосов
/ 09 января 2012

Глядя на папку данных, я заметил следующие файлы для CF. Несколько вопросов - для чего нужен каждый файл? для чего нужны 1 ... 6? какой из 1-6 содержит окончательные (все) данные CF?

<cf name>-g-1-Compacted
<cf name>-g-1-Data.db
<cf name>-g-1-Filter.db
<cf name>-g-1-Index.db
<cf name>-g-1-Statistics.db

...

<cf name>-g-6-Compacted
<cf name>-g-6-Data.db
<cf name>-g-6-Filter.db
<cf name>-g-6-Index.db
<cf name>-g-6-Statistics.db

Ответы [ 2 ]

9 голосов
/ 10 января 2012

Эти файлы представляют собой SSTables и метаданные, связанные с SSTables. Вот краткое описание каждого файла (взято из источника Кассандры: io / sstable / Component.java)

  • Data.db: базовые данные для sstable
  • Index.db: индекс ключей строк с указателями на их позиции в файле данных
  • Filter.db: сериализованный фильтр Блума для ключей строк в sstable
  • Statistics.db: статистические метаданные о содержимом sstable
  • Bitidx.db: вторичный индекс растрового изображения: многие из них могут существовать для каждого sstable
  • Сжатый: файл 0 длины, который создается, когда sstable готов быть удаленным

SSTables с * -Compacted помечены для удаления. Эти файлы будут очищаться асинхронно, когда JVM выполняет GC или Cassandra обнаруживает, что в системе недостаточно места на диске.

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

1 голос
/ 15 мая 2013

Некоторая полезная дополнительная информация о psanford answer может быть найдена на Номера версий формата Cassandra SSTable , где соглашение об именах поясняется более подробно (зависит от версии).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...