LINUX.ORG.RU

Почему header добавляют в конец блока в B-Tree / SSTable и прочие.

 ,


0

1

Часто замечаю, что в блок B-Tree или в какой-то там файл SSTable добавляют некий индекс или контрольный header в конец файла/блока.

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

Почему? Хоть одна причина таких решений где?

Пишем файл, создаём индекс в ОЗУ, потом индекс просто дописываем в конец файла. Не нужно заранее оставлять место в начале файла, особенно если не известно какой размер индекса. Если я правильно понял, про что вобще идёт речь.

mky ★★★★★
()

Это ещё что. Иногда этот индексный блок нужно искать по сигнатуре, причём не гарантируется, что сигнатура в единственном экземпляре, так что искать нужно последний экземпляр.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.