Я только что закончил читать статью о файловой системе Google (GFS). В документе говорится, что GFS

optimized for appending operations rather than random writes. 

Видя, что эта характеристика подчеркивается в статье, я считаю, что она должна быть очень важной.

Как ученик, у которого совсем не было опыта работы, каковы реальные примеры таких дополнительных Appending Operations о которых говорит Google? Звучит довольно интенсивно.

(Я предполагаю, что журналы тяжелые в дополнении. Может и электронная почта тоже?)

1 ответ1

1

Да, журналы были бы классическим примером операции добавления. Электронная почта зависит от реализации. Например, почтовые хранилища формата Maildir - это одно электронное письмо на файл, поэтому добавление не требуется. В формате mbox все электронные письма находятся в одном файле, поэтому новые добавляются в конце - они добавляются.

Обновление базы данных может быть примером операции произвольного типа записи, например, если вы решили обновить имя каждого в базе данных, это приведет к серии записей в середину файла, содержащего базу данных.

Google говорит здесь о том, чтобы поддерживать оптимальную производительность и, если вам это удается, добавить новую информацию в конец существующих файлов, а не изменять содержимое, уже находящееся в них. Если вам нужно удалить данные из файла, просто пометьте их как-нибудь и удалите позже, когда производительность не важна, как в пакетном задании очистки. Примером этого может быть снова использование почтовых магазинов в формате mbox. Если вы удалите письмо, оно будет отслежено в отдельном файле. Затем в дальнейшем вы можете "сжать" файл, который эффективно перезаписывает файл без удаленных писем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .