Зачем нужна новая POSIX-подобная файловая система

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Поговорим о том, как устроена ФС Hyperdrive, и тех, кто уже начать её использовать.


Фото — moren hsu — Unsplash

Пара слов о Hyperdrive


Это — POSIX-подобная файловая система для приложений с распределённой архитектурой. Её иерархия представлена единым деревом, а все объекты обладают двумя именами: абсолютное (от корня) и относительное (от текущего рабочего каталога). Hyperdrive разрабатывают авторы открытого P2P-браузера Beaker — он позволяет размещать сайты «прямо в браузере» — достаточно создать локальную папку и поделиться соответствующей ссылкой.

Как устроена система


Она реализована на Node.js — её исходный код лежит на GitHub. По словам авторов, работа с Hyperdrive напоминает взаимодействие со стандартным модулем Node — fs. Вот пример:

var hyperdrive = require('hyperdrive')
var archive = hyperdrive('./my-first-hyperdrive') // content will be stored in this folder

archive.writeFile('/hello.txt', 'world', function (err) {
  if (err) throw err
  archive.readdir('/', function (err, list) {
    if (err) throw err
    console.log(list) // prints ['hello.txt']
    archive.readFile('/hello.txt', 'utf-8', function (err, data) {
      if (err) throw err
      console.log(data) // prints 'world'
    })
  })
})

В основе Hyperdrive лежат две особые структуры под названием Hypercores. Это — журналы, в которые можно только добавлять данные (append-only logs). Первый хранит индексные метаданные, а второй — бинарники файлов. Имена файлов и папок проиндексированы с помощью префиксного дерева хешей, чтобы упростить поиск. В каком-то смысле оно служит быстрой системой типа «ключ-значение». Целостность данных проверяется с помощью дерева Меркла с криптографической хеш-функцией BLAKE2b-256.

За обработку обращений пользователей к файловой системе отвечает специальный демон. Его CLI позволяют создавать, расшаривать и просматривать директории Hyperdrive. Демон поддерживает FUSE, поэтому диски Hyperdrive могут отображаться как обычные папки на системах Linux и Mac.

Где её используют


Hyperdrive подойдет для разработки распределённых приложений, которые напоминают по функциональности облачные хранилища. Например, её использует платформа с открытым исходным кодом ScienceFair. Она помогает исследователям искать научную литературу, журналы, статьи и выжимки из них, а также обмениваться собственными наработками.

Разумеется, свою файловую систему используют сами разработчики браузера Beaker. Она хранит данные, необходимые для отображения веб-сайтов.


Фото — Clint Adair — Unsplash

Hyperdrive лежит в основе протокола Dat. Он нужен для обмена данными в распределённых сетях. При передаче файлы разбиваются на небольшие фрагменты разных размеров и собираются в единый Dat-файл принимающей стороной. Система позволяет добавлять в него новые фрагменты, но не разрешает модифицировать или удалять существующие. Такой подход позволяет сохранить историю изменения документов.

Сегодня вокруг Dat уже сформировалось достаточно обширное сообщество, а его продвижением занимается специальный фонд Dat Foundation — его поддерживает Mozilla и Code for Science & Society. В перспективе эти организации поспособствуют росту популярности как протокола Dat, так и файловой системы Hyperdrive.



О чем мы пишем в корпоративном блоге 1cloud.ru:

Резервное копирование файлов: как подстраховаться от потери данных
Минимизация рисков: как не потерять ваши данные
Где полезны объектные хранилища
RAID-массив в виртуальной машине


Источник: https://habr.com/ru/company/1cloud/blog/511192/


Интересные статьи

Интересные статьи

Спустя полтора года разработки авторы операционной системы Redox 0.6, написанной с использованием языка Rust, опубликовали новый выпуск. Новинку можно протестировать — для этого в сеть ...
Перевод наиболее интересных пунктов из FAQ для документа Digital Identity Guidelines от NIST (The National Institute of Standards and Technology) от 8 января 2020 года. Кому эт...
Привет! Меня зовут Даша Григорьева, я технический писатель в компании 65apps. Мы занимаемся разработкой сложных мобильных решений, и моя задача — подготовка технической документа...
Помните историю с утечкой паспортных данных у 500 млн клиентов сети отелей Marriott? Данные могли оказаться у злоумышленников, и гостиничная группа даже обещала оплатить пострадавшим постояльцам ...
Слово «бренд» часто связывают с материальной выгодой. HR-бренд позволяет эффективнее нанимать, а личный бренд — наниматься. А еще у личного бренда есть одно неочевидное преимущество, которое ника...