3

Я надеюсь, что это правильный сайт, я заблудился между 4 дочерними сайтами :)

Позвольте мне задать вопрос таким образом. все файловые системы, которые я видел ранее, являются иерархическими, то есть корневым каталогом с некоторыми разветвленными каталогами и т. д., пока у нас нет файлов, находящихся в этих каталогах. за исключением файловой структуры AS/400, где она имеет концепцию библиотеки, которая как-то служит каталогом, но только одного уровня.

Почему бы не иметь файловые системы без каталогов, в которых файлы размещены в одном месте, но на идентификаторы файлов будет ссылаться база данных кораблей отношения тег / файл.

Таким образом, не будет необходимости в символических ссылках, один файл может иметь несколько связей с несколькими субъектами, а не только один родительский каталог для хранения.

Надеюсь, идея понятна.

2 ответа2

1

В Windows Vista изначально предлагалось использовать WinFS, которая основана на реляционной модели данных и использует внутреннюю реляционную базу данных.

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

Чтобы иметь эффективную автоматическую генерацию отношений, ОС должна иметь четкие знания о содержимом файла, метаданных и / или семантике. Таким образом, файловые системы баз данных имеют то преимущество, что избавляются от собственных (часто проприетарных) форматов файлов программ, требуя, чтобы данные соответствовали стандартной схеме. (Хотя WinFS в Partucular поддерживает также хранение полуструктурированных файлов или файлов без структуры.)

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

Как оговорка, публичной версии WinFS пока нет. Для Linux вы можете попробовать реляционную файловую систему, программу, которая работает в иерархической файловой системе, но представляет дату через интерфейс реляционной файловой системы.

0

Я провел несколько лет, работая над своим хобби-проектом, TMSU, который делает именно это. Вы помечаете свои файлы с помощью инструмента командной строки, а затем можно смонтировать виртуальную файловую систему, которая представляет ваши помеченные файлы с каталогами для каждого тега. Вы также можете выполнять запросы (например, «рыба и чипсы, а не (горох или соус)»).

Инструмент не изменяет исходное местоположение ваших файлов, поэтому вы можете, если хотите, консолидировать ваши файлы в одном месте, а затем обращаться к ним исключительно через виртуальную файловую систему.

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

Альтернативно, без использования TMSU или другого подобного инструмента, уже возможно иметь файл в нескольких каталогах, используя жесткие ссылки, так что вы можете иметь простое решение для пометки файлов, используя только файловую систему. Это обеспечивает некоторые преимущества тегов, но вы не сможете легко определить, какие файлы имеют несколько тегов, и вы, очевидно, не сможете выполнять сложные запросы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .