πfs — революционная файловая система без хранения данных­

в 13:13, , рубрики: fuse, linux, ненормальное программирование, метки:

Что это?

πfs это революционная файловая система, которая вместо того, чтобы тратить место на вашем жестком диске, хранит все данные в π. Вам никогда больше не придется заботится о свободном месте! Вам говорили, что 100% сжатие невозможно? Да вот же оно!

Как собрать?

πfs собирается элементарно:

./configure
make

Да и использовать его не сложнее:

πfs -o mdd=<metadata directory> <mountpoint>

Где metadata directory — каталог с метаданными (названия файлов, смещение в π), а mountpoint ­— каталог монтирования.

Что же π делает с моими данными?

π — одна из самых важных констант математики, и у нее есть куча интересных свойств (о которых можно прочесть в статье на википедии)
Одним из таких свойств числа π предположительно является нормальность, что означает, что все его числа распределяются равномерно, при условии, что это дизъюнктивная последовательность, т.е. все конечные числовые последовательности находятся внутри него. Если мы рассмотрим число π по основанию 16 (HEX), то это предположение верно. Первая запись об этом была в 2011 году.
Ну а если так, то зачем нам хранить все эти эксабайты данных на винчестерах, если мы можем найти их в π?

Но как же найти мне свои данные в π?

Если вы знаете смещение файла и его длину в π, вы можете их достать используя формулу Bailey–Borwein–Plouffe. Аналогично, вы можете использовать эту формулу чтобы узнать смещение вашего файла.
Так как нахождение целиком нужной последовательности займет слишком много времени, нам нужно разбить файл на несколько маленьких последовательностей для увеличения быстродействия.
В этой реализации, мы разбиваем файл на отдельные байты, и эти байты ищем в π.

Ну нашел я смещение файла в π, что мне с ним делать-то?

Ну, очевидно, вам нужно его куда-нибудь записать, на бумажку, например, но у нас же теперь есть куча свободного места на винчестере, почему бы не сохранить его туда?

Ну а если я потеряю смещение?

Да ничего страшного — ваши данные от этого из π не пропадут! Найдете когда-нибудь.

Почему это говно такое медленное? На сохранение 400 строк теста у меня ушло 5 минут!

Ну, это прототип, к тому же, у нас есть закон Мура!

Исходник на GitHub

Автор: ValdikSS

Источник

  1. Грон:

    Ересь высшего порядка.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js