Снимки на основе ссылок
Снимки записывают состояние раскладки по ссылке. Большие деревья не надо физически дублировать только ради точки отката.
Cotton разделяет метаданные раскладки и хранилище содержимого, поэтому снимки, версии, корзина, восстановление и сборка мусора работают по ссылкам вместо копирования каждого байта заново.
Снимки записывают состояние раскладки по ссылке. Большие деревья не надо физически дублировать только ради точки отката.
Граф раскладки — первоклассная абстракция. Поэтому восстановление можно обсуждать на уровне дерева, а не лечить каждый путь к файлу как отдельную аварию.
Когда содержимое меняется, Cotton может держать родословную версий, которую пользователь может смотреть, скачивать, восстанавливать или подчищать по политике удержания.
Снимки и версии опираются на ссылки раскладки, родословную версий файлов, удержание корзины, ссылки манифестов, учёт удержания превью/шар и осторожную сборку мусора до освобождения чанков.
Восстановление — продуктовая фича, когда оно видимое, дешёвое и понятное. Cotton относится к снимкам, версиям файлов, корзине и восстановлению как к нормальным сценариям файлового облака, а не как к аварийной бэкенд-рутине.
Корзина, версии, шары, снимки, манифесты и превью — поверхности удержания. Очистка должна знать о них всех до освобождения чанков.
Неиспользуемые чанки сначала ставятся в очередь, потом перепроверяются, и только после этого освобождаются. Если содержимое снова получило ссылку до удаления, очистка отменяет путь освобождения.
Фичи восстановления важны потому, что пользователи безопаснее экспериментируют, когда откат дешёвый и очевидный. Это продуктовая ценность, а не только теория хранилища.
Восстановление на основе ссылок не заменяет бэкапы вне сервера. Оно закрывает повседневные ошибки и сценарии удержания; полная потеря сервера всё равно требует протестированных бэкапов и плана восстановления.
Cotton разделяет видимое дерево и сохранённый контент. Поэтому снимки, версии, корзина, восстановление и очистка — части одного жизненного цикла, а не отдельные задачи, которые дерутся за те же байты.
Смысл не в том, что снимки звучат умно. Смысл в том, что пользователи восстанавливаются после ошибок без превращения большой библиотеки в медленную фоновую операцию копирования.
Папки и узлы видимых файлов проходят сценарии восстановления без переписывания каждого сохранённого чанка.
Видимый файл указывает на манифест, а манифест — на упорядоченные контентно-адресуемые чанки.
Обновлённые файлы могут хранить родословную версий, которую пользователи осматривают, скачивают, восстанавливают или подрезают.
Неиспользуемые чанки планируются, перепроверяются и освобождаются только после того, как Cotton подтвердил: ничего живое в них не нуждается.
Большие раскладки не превращаются в большие задачи копирования только потому, что пользователь хочет точку отката.
Плохая перезапись становится решением по версии, а не событием безвозвратной потери.
Удалённые видимые файлы всё ещё требуют ясной семантики хранения до исчезновения чанков.
Шары, превью, версии, снимки, манифесты, бэкапы и живые файлы важны для безопасности освобождения.
Контентно-адресуемое облако остаётся безопасным только если очистка знает, что ещё живо. Cotton относится к GC как к скоординированному сценарию хранения: сначала запланировать, потом проверить ещё раз, и только затем удалить, когда ссылки правда исчезли.
Бэкапы всё ещё обязательны, но бытовое восстановление не обязано ощущаться как аварийное восстановление. Cotton делает восстановление частью сценария файлового облака, а не аварийным путём только для оператора.
Восстановление на ссылках зависит от корректных метаданных и учёта хранения. Если развёртыванию нужна защита от полной потери сервера, ему всё ещё нужны протестированные бэкапы и хранилище вне сервера.
Нет. Модель построена на ссылках. Цель — избежать восстановления с тяжёлым копированием для больших раскладок.
Нет. Снимки и версии помогают с обычными пользовательскими ошибками и сценариями отката. Серьёзному развёртыванию всё равно нужны протестированные бэкапы, особенно для полной потери сервера или сбоя хранилища.
Чанк может быть нужен версии файла, снимку, шаре, превью, артефакту бэкапа или живому манифесту. Очистка обязана уважать все пути удержания.