avva: (Default)
[personal profile] avva
Ну хорошо. Может она, иерархическая файловая система то есть, действительно не нужна?

Все эти каталоги в каталогах. Широченное дерево, ползучее. Кто сказал, что именно так должно быть?

Вот в последнее время так популярно стало вместо иерархии делать метки. Вместо иерархического дерева закладок - del.icio.us, с тагами на каждом URLе. Вместо иерархического дерева фотоальбомов - Flickr с тагами на каждой картинке. И так далее.

Давайте скажем: нет никакой иерархической файловой системы. Есть файлы. У каждого файла есть набор меток. В некоторых случаях эти метки хранятся вместе с самим файлом, в некоторых - отражают то, где он хранится ("cd").

Если у файла есть метка "program", его можно запустить. Конфигурационные файлы помечены "config", а конфигурационные файлы системы имеют метки "config" и "system" одновременно. Плюс метку определённого пакета или модуля, в случае надобности.

Директорий нет. Вместо понятия текущей директории есть понятие текущего набора меток, который включает в себя те метки, что я хочу видеть, и, возможно, какие-то, которых не хочу (так файлы "system" будут скрыты от обычного пользователя). Вместо команд "dir" и "ls" есть команда, которая показывает все файлы, отвечающие текущему набору меток. Если у компьютера есть несколько пользователей, файлы каждого помечены меткой его username. Вместо команды "cd" есть команда, меняющая текущий набор меток. Графические программы для работы с файлами делают понятие текущего набора меток наглядным и легко изменяемым.

Гмм... что делать в ситуации, когда у двоих людей есть разные файлы с одинаковым именем? Скажем, что есть метки косметические, а есть существенные. Существенные метки являются частью идентичности файла; могут существовать два разных файла с одним именем, но разным набором существенных меток. Но если набор существенных меток одинаков и имя одно и то же, это один и тот же файл (у которого можно менять набор косметических меток) (update: возможно, косметические метки не нужны, пусть все будут существенные?).

"Копировать файл" означает клонировать его и изменить какую-нибудь существенную метку (или добавить). Например: я программист и у меня есть проект foo, в котором 100 файлов. Я хочу сделать новую копию всего проекта и работать над ней. Создаю новую существенную метку current и клонирую весь проект в неё. Аналогом переноса файла из одного каталога в другой теперь является изменение набора существенных меток (без клонирования). Записать набор файлов на USB-диск означает выделить нужный набор файлов и склонировать их с меткой usb.

Не будет работать? Слишком сложно? Слишком неинтуитивно?

Date: 2006-01-04 06:36 pm (UTC)
From: [identity profile] kot-begemot.livejournal.com
В общем, тут и до меня многие высказали здравые мысли, но поскольку тема мне близка (всё-таки последние 6 с гаком лет отданы файловым системам и вообще хранению данных) позволю себе заметить, что реально всё очень и очень зависит от предметной области. Иерархические файловые системы применяются довольно широко, но отнюдь не универсально. Комплиментарными являются объектно-ориентированные (типа того же ObjectStore, Versant) и реляционные (Oracle, xSQL) базы данных. Несколько особняком стоят проблемно-ориентированные решения типа Documentum. Кстати, идея меток имеет вполне официальное название - CAS (Content addressed storage) и в разной мере реализуется как в железе (напр. EMC Centera), так и в софте - тот же Documentum.
Плюс к этому, существуют ещё решения для data warehousing (как правило так или иначе основанные на CAS и/или БД), а также решения для данных в развитии - от простой поддержки версий типа ClearCase, до многоуровневых решений класса ILM (Information Lifecycle Management), где информация в зависимости от её текущего состояния может храниться на том или ином носителе.

Date: 2006-01-04 06:40 pm (UTC)
From: [identity profile] ex-ex-zhuzh.livejournal.com
Я хочу для домашнего десктопа файловую систему подобрать. Что посоветуете? ;)

Date: 2006-01-04 06:52 pm (UTC)
From: [identity profile] kot-begemot.livejournal.com
Для домашнего десктопа - ту что поставлена вендором операционной системы по умолчанию (т.е. NTFS под Windows).
Дома, за исключением совсем экстремальных случаев, лучше всего иметь самое стандартное решение из всех возможных.

Date: 2006-01-04 06:59 pm (UTC)
From: [identity profile] ex-ex-zhuzh.livejournal.com
Я, в общем-то, являюсь вендором операционной системы для своего домашнего десктопа. Ядро сам компилирую, могу и запатчить, если надо ;)

Date: 2006-01-04 07:15 pm (UTC)
From: [identity profile] kot-begemot.livejournal.com
Это не называется "домашний компьютер". В таком случае, плясать следует от приложений и требований.
Если речь идёт о Linux, то я бы ставил кондовую ext3, возможно с включённой журнализацией. Но это чисто моё предпочтение - я имел довольно много геморроя с ReiserFS в своё время и с тех пор её не люблю.
Что сегодня ставят на FreeBSD я не знаю, в своё время тривиальная FFS была вполне пригодна к употреблению.

Date: 2006-01-04 07:42 pm (UTC)
From: [identity profile] ex-ex-zhuzh.livejournal.com
Ну а какой же это компьютер? Почта, браузер, IM, офис, фотографии, фильмы, mp3 и прочее в том же духе. Типично домашний, с точки зрения гоняемых приложений.

Речь не идет о выборе между ReiserFS и ext3, а о файловой системе, видимой на уровне пользователя KDE/GNOME/whatever. В общем-то, на сегодняшний день имеется только лобовое отображение иерархической структуры, существующей в ОС, с несущественными примочками. Все остальное — в лучшем случае альфа. Но, может быть, есть какие-то интересные перспективные разработки? Чисто побаловаться.

Date: 2006-01-04 08:40 pm (UTC)
From: [identity profile] kot-begemot.livejournal.com
Презентационный уровень на десктопах я знаю довольно поверхностно (чтобы не сказать совсем не знаю), я бы не мудрствуя лукаво пользовался обычной иерархией.

Date: 2006-01-04 11:41 pm (UTC)
From: [identity profile] avva.livejournal.com
Спасибо.

Я понимаю, что существуют разные подобные решения для специализированных файловых систем, т.е. для решения какой-то конкретной задачи хранения данных. Мне интересно разобраться, реально ли сделать так, чтобы такая система полностью заменила привычную иерархическую систему в general-purpose OS. Реально не с технологической точки зрения, а с точки зрения user experience, так сказать.

Date: 2006-01-05 01:47 am (UTC)
From: [identity profile] kot-begemot.livejournal.com
Фишка в том, что general-purpose OS отживают свой век. Вернее, отживает свой век концепция "компьютера вообще" - приходит специализация, и с ней - свои решения для каждой нишы на рынке. Взять, например, игровые консоли или сотовые телефоны - там прижились совсем не general-purpose решения. Так и с данными - для desktops скорее всего будет немного другая концепция в принципе, с квази-матриционной (т.е. по сути иерархической с тагами) презентацией файловой системы.
Собственно, всё тот же Парк пишет об этом довольно регулярно, вот здесь хотя бы: http://www.docuverse.com/blog/donpark/EntryViewPage.aspx?guid=ce2d1717-f2dd-4065-8c86-0780f8d63be3
Насколько он близок к истине покажет время.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 09:47 am
Powered by Dreamwidth Studios