Только добавление
«Только добавление» — это свойство компьютерного хранилища данных , при котором новые данные могут быть добавлены в хранилище, но существующие данные являются неизменяемыми .
Контроль доступа
[ редактировать ]многих файловых систем Списки контроля доступа реализуют разрешение «только на добавление»:
- chattr в Linux можно использовать для установки флага «только добавление» к файлам и каталогам. Это соответствует
O_APPEND
отметить вopen()
. [1] - В NTFS ACL есть элемент управления «Создать папки/Добавить данные», но, похоже, он не сохраняет данные неизменными. [2]
Многие поставщики облачных хранилищ предоставляют возможность ограничить доступ только для добавления. [3] Эта функция особенно важна для снижения риска потери данных для политик резервного копирования в случае заражения компьютера, на котором выполняется резервное копирование, программой-вымогателем, способной удалить или зашифровать резервные копии компьютера. [4] [5]
Структуры данных
[ редактировать ]Многие структуры данных и базы данных реализуют неизменяемые объекты , что фактически делает их структуры данных доступными только для добавления. Реализация структуры данных, допускающей только добавление, имеет множество преимуществ, таких как обеспечение согласованности данных , повышение производительности , [6] и разрешение откатов . [7] [8]
Прототипической структурой данных, предназначенной только для добавления, является файл журнала . Структуры данных с журнальной структурой, находящиеся в файловых системах и базах данных с журнальной структурой, работают аналогичным образом: каждое изменение (транзакция), происходящее с данными, регистрируется программой, и при извлечении программа должна объединить фрагменты данных, найденные в этих системах. файл журнала. [9] Блокчейны добавляют криптографию в журналы , чтобы каждую транзакцию можно было проверить.
Структуры данных, предназначенные только для добавления, также могут быть предусмотрены аппаратной или программной средой:
- Все объекты неизменяемы в чисто функциональных языках программирования, где каждая функция является чистой и глобальных состояний не существует. [10]
- В ячейки флэш-памяти можно записать только один раз перед стиранием. Стирание на флэш-накопителе работает на уровне страниц, которые охватывают множество ячеек одновременно, поэтому каждая страница рассматривается как набор ячеек, доступных только для добавления, пока она не заполнится. [9] [11]
- На жесткие диски, использующие кольцевую магнитную запись, нельзя производить произвольную запись, поскольку запись на дорожку затирает соседнюю, обычно более позднюю дорожку. В результате каждая «зона» на диске доступна только для добавления. [12] [6]
Структуры данных, предназначенные только для добавления, со временем растут, при этом все больше и больше места выделяется для «устаревших» данных, находящихся только в истории, и все больше времени тратится на анализ этих данных. Ряд систем, поддерживающих только добавление, реализуют перезапись (копирование сборки мусора ), так что создается новая структура, содержащая только текущую версию и, возможно, несколько более старых. [7] [13]
См. также
[ редактировать ]- Список контроля доступа
- Облачное хранилище
- Сравнение файлообменников
- Структура данных
- Чисто функциональная структура данных
- Дерево слияний с лог-структурой
- Прозрачность сертификата
- Напиши один раз прочитай много
Ссылки
[ редактировать ]- ^ Linux пользователя Руководство – Пользовательские команды –
- ^ «powershell — Как предоставить пользователю доступ «только добавление» в Windows для целей ведения журнала» . Ошибка сервера .
- ^ Джим Донован (11 сентября 2018 г.). «Зачем использовать неизменяемое хранилище?» . Васаби .
- ^ Евгений Колоденкер; Уильям Кох; Джанлука Стрингини; Мануэль Эгеле (апрель 2017 г.). «PayBreak: защита от криптографических программ-вымогателей». Материалы Азиатской конференции ACM по компьютерной и коммуникационной безопасности 2017 года . стр. 599–611. дои : 10.1145/3052973.3053035 .
Из-за угрозы программы-вымогателя, нацеленной на хранилище ключей, наша реализация сохраняет собранный ключевой материал в файл, доступный только для добавления, защищенный с правами администратора.
- ^ Понт, Джейми; Абу Оун, Усама; Брирли, Кэлвин; Ариеф, Буди; Эрнандес-Кастро, Хулио (2019). «Дорожная карта по повышению эффективности исследований в области защиты от программ-вымогателей». Безопасные ИТ-системы, Материалы 24-й Скандинавской конференции, NordSec 2019 . Международное издательство Спрингер. стр. 137–154. ISBN 978-3-030-35055-0 .
- ^ Перейти обратно: а б Команды разработчиков аппаратного обеспечения Magic Pocket. «Расширение инноваций Magic Pocket за счет первого внедрения накопителя SMR петабайтного масштаба» . dropbox.tech .
- ^ Перейти обратно: а б «Постоянство Redis» . Редис .
- ^ «Дополнительные примечания» . Документация по дедупликационному архиватору Borg 1.1.11 .
- ^ Перейти обратно: а б Рид, Колин; Бернштейн, Фил (1 января 2010 г.). «Реализация интерфейса только для добавления для полупроводникового хранилища» (PDF) . Данные IEEE, англ. Бык . 33 : 14–20.
- ^ «Тринадцать способов взглянуть на черепаху» . F# для удовольствия и прибыли . Проверено 13 ноября 2018 г.
- ^ «Зонированное пространство имен NVMe» . ZonedStorage.io . Архивировано из оригинала 29 января 2020 г. Проверено 25 апреля 2020 г.
Внутреннее устройство твердотельных накопителей таково, что они реализуют структуру данных с журнальной структурой, при которой данные записываются на носитель последовательно.
- ^ Джейк Эдж (26 марта 2014 г.). «Поддержка устройств магнитной записи с черепицей» . LWN.net . Проверено 14 декабря 2014 г.
- ^ Брюэр, Эрик; Инь, Лоуренс; Гринфилд, Лоуренс; Сайфер, Роберт; Тсо, Теодор (2016). «Диски для дата-центров» . Материалы USENIX FAST 2016 .
Из-за ограничений на запись, налагаемых SMR, при удалении данных удаленная емкость не может быть повторно использована до тех пор, пока система не скопирует оставшиеся живые данные в этой зоне SMR в другую часть диска, что является формой сборки мусора (GC).