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

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

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

[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 занялась.