metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-09-26 02:45 pm

Файловые системы и большое количество файлов

Поведение NTFS на диске с порядка полмиллиона файлов меня как-то огорчает. Сейчас переношу с одного диска на другой - оно минут 15 только структуру папок сканировало.
Как линуксовые FS себя ведут в подобных случаях?

[identity profile] permea-kra.livejournal.com 2010-09-26 07:48 pm (UTC)(link)
>>Никаких проблем к встраиванию БД в ОС нету
Не знаю, как в венде (хотя по доходящим до меня слухам там ситуация похожа), а в линупсах многие тулзы и драйвера завязаны на sysfs/procfs. Многие проги (обоснованно полагая, что разбираются в данном вопросе лучше) хранят свои данные в виде битового потока. И вы заколупаетесь объяснять разработчикам, что они неправы. Представление флешек в виде подмонтируемых каталогов, опять же. Т. е. по сути, для _перехода_ на системную БД потребуется переписать половину системного софта и придумать новый шелл плюс принять стандарты на апи. И проехаться по ушам всем железячникам для переписывания дров.

А прикрутить сбоку проблемой не является, да. Но это неинтересно.

[identity profile] zelanton.livejournal.com 2010-09-26 07:54 pm (UTC)(link)
есть в БД такая штука - блоб. Тот самый битовый поток.

Я заколупаюсь? Придёт Билли или этот, которой из Apple, как там его... И все возьмут под козырёк. Я на миллиардера пока что не тяну. Не там родился.

А API да, невероятная проблема. Нормальный API к БД прикрутить к БД невозможно - мне про это уже все уши прожужали. Только я до сих пор не понял почему.

А переписывать да, придётся. На том мы все (и не только мы) и наживёмся. И не я это придумал, если что.

[identity profile] permea-kra.livejournal.com 2010-09-26 07:59 pm (UTC)(link)
>>А переписывать да, придётся.
Вот я и говорю - поначалу скорее всего выйдет дорого, поскольку затраты нужно будет отбить ( а там выйдут гигабайты кода)

>>есть в БД такая штука - блоб. Тот самый битовый поток.
А зачем тогда бд ? Древовидная система объектов, с некоторыми из которых ассоциированы битовые потоки, уже есть сколько лет. Называется - fs.

>>Нормальный API к БД прикрутить к БД невозможно
Не в этом дело. надо
- принять стандарт
- этот стандарт должен учитывать тонкости подключения хранилищ
- этот стандарт должен работать с объектами заранее неизвестной структуры (т. е. быть расширяемым)
Т.е. это будет новый xml с жабами и червями.

[identity profile] zelanton.livejournal.com 2010-09-26 10:20 pm (UTC)(link)
Давайте предметно: чьи затраты, кто должен отбивать и кто на этом наживётся. Вышел линукс. Дрова нужны иные. Кто-то умер? Переписать было невозможно?

FS действительно формально попадает под определение БД, но существующие FS имеют массу ограничений, работуют с ориентацией на битовый поток, причём обязательно "один объект (файл) - один набор байтов", а данные там сбоку бантик. Кроме того FS изначально доступна пользователю, а концепция БД в принципе строиться на абстрагировании данных от пользователя, пользователю даётся интерфейс. Причём для каждого вида данных - свой.

А стандарт принимать необязательно. Рынок-то между гигантами попилен. Например, что майкрософт скажет, то мы и возьмём под козырёк. Кто-то может повыпендривается, но из откровенной хуйни никто не попробует революцию делать, так что никуда не денемся.

[identity profile] permea-kra.livejournal.com 2010-09-27 05:55 am (UTC)(link)
>>Давайте предметно: чьи затраты, кто должен отбивать и кто на этом наживётся. Вышел линукс. Дрова нужны иные.
Не только дрова. Ну, давайте предметно: линукс показывает устройства в виде файлов в /dev и /sys и экспортирует кучу данных в /proc . На это точены все дрова (т. е. как минимум придется переписывать все дрова из ядра), интерфейс работа с консолью (stdin/stdout, терминалы и пр показываются программе в виде файловых дескрипторов), все системные приложения (udev, xorg-server, системы записи дисков, dd, etc, etc). В случае, если это дело перетаскивать под БД все это надо переписывать. Только ядро линупса - это 30 мб сжатого кода, а все вместе под гигабайт набежит. Человек пишет в лучшем случае 10 кб осмысленного кода в день, итого имеем порядка 3000000 человеко-дней, т. е. порядка нескольких сот человеко-лет только на разработку, а ещё нужно тестирование и документация. Т. е. проект потребует несколько тысяч людей. Пусть это индусы с оплатой $1000/мес, это $50/раб. день Тогда затраты составять 15 000 000 млн. На выходе же будет абсолютно новый продукт, требующий ещё затрат на рекламу и усилий по переносу всего и вся.

>>FS действительно формально попадает под определение БД, но существующие FS имеют массу ограничений, работуют с ориентацией на битовый поток, причём обязательно "один объект (файл) - один набор байтов", а данные там сбоку бантик.

И кто мешает эти недостатки устранять? Майкрософт вот этим в NTFS занялась.