Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров177K

Что это?


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

Как собрать?


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


Да и использовать его не сложнее:
πfs -o mdd=<metadata directory> <mountpoint>

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

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


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

И что, прямо каждый-каждый файл можно найти в π?

А ТО! Любой файл, который создали вы или кто-то другой, или даже еще не создали! Вас судят за нарушение копирайта? Да хрена с два — вы просто достали последовательность из константы, она всю жизнь там была!

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

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

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

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

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

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

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

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

Исходник на GitHub
Теги:
Хабы:
Всего голосов 395: ↑300 и ↓95+205
Комментарии228

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн