3 июн. 2008 г.

Тезисы

На конференции отучаствовал, диплом защитил. Свобода (почти :) )! В результате появления дополнительного свободного времени я, в ближайшие сроки, начну работу над реализацией «FITaFS» под FUSE.


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

Итак...

Файловые системы на основе тегов. Особенности организации данных на примере «FITaFS»

Классические ФС (файловые системы) с жесткой иерархической структурой каталогов успешно используются уже более 30 лет. Однако теперь, когда объемы хранимой пользователями информации исчисляются десятками и сотнями гигабайт, упорядочивание и поиск требуемых данных оказывается либо сильно затруднен, либо не удобен. Виной тому все та же жесткая иерархия и невозможность динамического отображения всех данных, соответствующих заданному критерию в одном месте, средствами самой ФС. Конечно, у пользователя имеется хорошо зарекомендовавший себя механизм жестких ссылок на файлы, однако и это далеко не панацея. К примеру, мы хотим отобразить в папке «Music» все имеющиеся на компьютере звуковые файлы – для этого необходимо будет найти все необходимые файлы, создать на них жесткие ссылки внутри «Music» (при этом придется изменять оригинальные названия во избежание повторения), и периодически сканировать систему на наличие новых звуковых файлов. Если же внутри «Music» необходимо воспроизвести часть оригинальной иерархии, как то: «%исполнитель%\%альбом%\%имя_файла%.mp3», то количество операций еще больше увеличится.

Для устранения подобных проблем было разработано множество реализаций ФС и надстроек (систем управления данными и метаданными, не являющихся файловыми системами), отображающих данные в виде страниц БД (баз данных), некоторые из которых используют SQL как родной язык запросов. К ним относятся: «WinFS» (Microsoft), «Hyppocampus». Однако и они не лишены недостатков, главными из которых являются: 1) отсутствие полной обратной совместимости с классическими ФС и использующими их программами; 2) большинство подобных систем являются надстройками над существующими ФС и используют внешние универсальные СУБД, что заметно увеличивает нагрузку на ЦП и расход памяти (как оперативной так и постоянной).

Как оказалось, есть еще один не безызвестный механизм отображения и упорядочивания информации – теги. Да, конечно, системы, основанные на базах данных также используют теги, но только в роли дополнительных свойств файла. В отличии от них теговые ФС («FITaFS», «Tagsistant») составляют из тегов путь к файлу. Если файл 1.mp3 имеет теги [музыка, классика], а файл 2.mp3 - [музыка, рок], то перейдя по любому из путей [«музыка\рок» или «рок\музыка»] мы найдем файл 1.mp3. В тоже время в каталоге «музыка» можно обнаружить оба файла - 1.mp3 и 2.mp3. Дерево каталогов, в большинстве случаев представляет собой перечень всех тегов-каталогов, внутри каждого из которых снова-таки список из всех тегов-каталогов (кроме уже выбранных) вместе со списком файлов, имеющих заданные теги. Тем самым обеспечивается полная обратная совместимость с классическими ФС. Однако, при большом количестве тегов, интерфейс становится неудобным, а громадная вложенность может привести к серьезным проблемам в программах, пытающихся обойти (просканировать) все дерево папок. Разработанная мной теговая файловая система «FITaFS» использует несколько иной подход, нивелируя проблему сверх-избыточной вложенности тегов-каталогов.

В докладе будут освещены методы устранения выше перечисленных проблем с интерфейсом, управления объемами данных и повышения быстродействия, использованные при проектировании «FITaFS». А также сравнение «FITaFS» с существующими системами.

Бутенко М.С. 2008

3 апр. 2008 г.

Первая запись ))

Первая заметка о том, что мой доклад принят в программу конференции САИТ-2008 (ИПСА КПИ). А это значит что я впервые буду докладчиком на научной конференции.))
Буду рассказывать про "файловые системы на основе тегов" (tag-based filesystem) вообще и про собственную подобную разработку - "FITaFS" - в частности.